数据库中表的排序问题
大家好!
我碰到一个问题:
我从外部数据库导入数据到sqlserver2000,结果发现与原来的数据排序不一样,都乱掉了。
请问有什么办法能够改变目前的排序混乱的状态。比如按名称排序。要做到的效果是,每当我打开这张表,数据就已经按照名称排好序了。
------解决方案--------------------没有必要.
需要什么排序直接在语句中写.
select * from tb order by id (desc)
------解决方案--------------------建个索引嘛
------解决方案--------------------CREATE INDEX
为给定表或视图创建索引。
只有表或视图的所有者才能为表创建索引。表或视图的所有者可以随时创建索引,无论表中是否有数据。可以通过指定限定的数据库名称,为另一个数据库中的表或视图创建索引。
语法
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH < index_option > [ ,...n] ]
[ ON filegroup ]
< index_option > ::=
{ PAD_INDEX |
FILLFACTOR = fillfactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB
}
再不清楚的可以参见SQL帮助,里面有详细的资料
------解决方案--------------------下面的示例为 authors 表的 au_id 列创建索引。
SET NOCOUNT OFF
USE pubs
IF EXISTS (SELECT name FROM sysindexes
WHERE name = 'au_id_ind')
DROP INDEX authors.au_id_ind
GO
USE pubs
CREATE INDEX au_id_ind
ON authors (au_id)
GO
------解决方案--------------------打开表看纪录,你不觉得很慢么??
用SQL语句不是很好的嘛~
------解决方案--------------------索引决定表的显示结果集:
create index 索引名 on 表名(列1 asc)
------解决方案--------------------打开记录表看全乱了..
实际上,无论是做程序的,还是前台展示, 都不需要打开表看记录, 即便你打开表看记录所呈现的顺序,也不是数据库中对记录的物理存放顺序. 看这个,没有意义.
------解决方案--------------------楼上说的对.