日期:2014-05-18  浏览次数:20432 次

数据库中表的排序问题
大家好!
我碰到一个问题:
我从外部数据库导入数据到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)
------解决方案--------------------
打开记录表看全乱了..

实际上,无论是做程序的,还是前台展示, 都不需要打开表看记录, 即便你打开表看记录所呈现的顺序,也不是数据库中对记录的物理存放顺序. 看这个,没有意义.
------解决方案--------------------
楼上说的对.