即使SQL表按ID排序,我的网站也会按DATE显示帖子。由于ID的顺序并不总是与DATE的顺序相同,因此我使用ORDER BY 'DATE'
运行查询。SQL - 主键,聚簇索引,自动增量
SQL表举例:
----------------------------
| ID | DATE |
----------------------------
| 1 | 2011-10-20 00:00:00 |
| 2 | 2012-10-20 00:00:00 |
| 3 | 2010-10-20 00:00:00 |
| 4 | 2011-09-20 00:00:00 |
----------------------------
To query I use: SELECT * FROM `table` ORDER BY 'DATE';
我的问题:
会受益的查询性能,如果表中的聚簇索引或主键是DATE列?
是否有可能使ID列自动增量,当它不是主键?
我想要做的是使查询尽可能快的(我想这将有可能通过使DATE簇索引或主键),而且还允许每个帖子都有一个唯一的自动增量ID。我试图让DATE成为主键,但我得到一个错误,说“只能有一个自动列,并且它必须被定义为一个键”。
'ORDER BY'DATE''将不会对您的结果进行排序,因为按照常量字符串DATE排序,而不是按DATE列的值进行排序。由于您在列名称中使用保留字,因此您需要使用'''或反引号(使用'table'的方式)引用它。 – 2012-03-14 18:33:35