在MySQL订购?

时间:2013-12-26 08:22:23

标签: mysql

我正在编写一个查询来从视图中获取数据。该视图包含大量记录。 我想通过视图做一个订单 我使用了Col_Name DESC的订单。 它工作得很好,但需要很长时间。评估时间为59秒, 这是巨大的,因为我需要在网站上绘制数据。用户不能等待59秒才能看到结果。 任何人都可以建议我如何优化这个? 我用Google搜索并发现可以使用索引但是如何在Views中使用它。我的表已经编入索引,但仍然没有优化查询。

2 个答案:

答案 0 :(得分:0)

在您按

订购的列上添加索引
ALTER TABLE your_table 
ADD INDEX col_name_idx (col_name desc)

请注意:

  

index_col_name规范可以以ASC或DESC结尾。这些关键字允许用于将来的扩展,以指定升序或降序索引值存储。目前,他们被解析但被忽略;索引值始终按升序存储。

因此将来可能会使用降序索引。目前,你必须与提升者一起生活。

如果此后查询仍然很慢,您可以使用explain查看查询所需的时间。运行

explain select ...

并查看输出以获得进一步的优化潜力。

答案 1 :(得分:0)

尝试使用解释计划

http://dev.mysql.com/doc/refman/5.5/en/execution-plan-information.html

并弄清楚为什么这么长时间。