mysql 默认排序 修改_MySQL修改默认排序

  • Post author:
  • Post category:mysql


一个信息发布系统,大多数情况最新发表的记录要显示在最前面。

列出一个用户的最新的10篇文章,平常的做法创建一个双索引(username+posttime)。使用SQL语句:

select * from article where username=”阿海” order by posttime desc limit 0,10;

假如用户发表的文章有上万篇,这个排序将会非常的慢,好像没有使用索引一样,show processlist经常看见有sorting的进程。按照理论来说应该不会存在这个问题,不知道是不是bug。

mysql有修改表的默认排序功能

alter table article order by posttime desc [,articleid desc];

这样修改了表结构之后,可以默认按照posttime降序排序

就不需要再建立双索引(username+posttime),只要建立用户名字段的索引即可,查询时只需要使用以下SQL语句

select * from article where username=”阿海”;



版权声明:本文为weixin_34582773原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。