我试图加快查询200 K行数据并在网页中显示的时间,通常大约需要20-30秒,但目前我已将其降至7-10秒左右。我最多还是需要3-7秒左右的时间。
在我的查询中,我选择单个表中的所有行,并在PHP脚本中放置大约5列。查询如下:
SELECT * FROM table where company = ? and division = ?;我只是添加了我的会话的参数。然后,我在.inc文件中发送查询和参数,inc运行查询。但是它还运行一个单独的数据分页查询。然后对这两个查询进行比较,以检查两者之间是否有任何不正常之处。然后,它将把数据放在一个新窗口中。
我是否可以使用任何已知的算法或技术来加速这一过程?我已经删除了任何垃圾代码,并加快了一些函数,但它仍然很慢。
P.S.:我大约两天前也处理过这个系统,所以我还在熟悉这个系统的结构。
发布于 2012-10-21 02:08:56
首先,确保该表上有索引。如果查询在where子句中同时包含了company和division,那么跨字段的复合索引就会工作得很好。
第二,不要运行第二个分页查询!使用limit子句运行第一个查询,缓存所需的内容,然后在其中分页。
发布于 2012-10-21 02:39:54
gender列的基数(选择性)很低,唯一的用户id列具有较高的基数,是成为主键的好选择。欲了解更多信息,请访问:
http://www.ajaxline.com/32-tips-to-speed-up-your-mysql-queries
https://stackoverflow.com/questions/12994326
复制相似问题