回答
您可以使用索引来提高性能,请检查7.5.3. How MySQL Uses Indexes。
你也可以运行explain命令,例如'explain select * from mytable where someField ='Something'; '看看它会返回什么,但我认为'索引'解决方案应该足够好。
另外,也许你可以考虑拆分成几张简单的表格。我不知道你的结构是什么,但我在过去的例子中已经看到过,例如,人们会将冗余数据保存在同一个表中,例如:在同一个表中有客户名称和地址,在那里可以将它分为客户和地址,然后仅在一个表上执行查询。
希望这会有所帮助。
你是对的,人们应该规范化他们的数据,那只是DBA 101.但他的问题是数据检索性能,规范化并没有帮助!恰恰相反:) – 2010-08-02 11:42:01
好吧,它帮助我在几年前工作的一些遗留项目上的表现,但我想每种情况都不同:) – Greg 2010-08-02 11:47:05
第一步:确定是否花费时间运行查询或将数据传回给您。
多久需要运行这个查询 -
SELECT COUNT(*)
FROM
([your query that returns 40k rows]) AS butts;
如果是快速的,那么大部分的时间大概花了将数据传输回客户端。研究使用MySQL的压缩。
如果服务器花费很长时间处理查询,那么可能会通过适当的规范化和索引使用来解决问题,正如其他人在此提到的那样。为了帮助优化特定的查询,您应该粘贴所有涉及表的CREATE TABLE和查询本身。
SQL的另一个简单优化是从表中返回更少的列。如果您只显示SQL表中的两个字段,则不需要检索其余字段,除非有人需要查看它们以获取特定记录。
- 1. 检索记录时使用MySql数据库的ArrayList性能
- 2. 检查mySQL中是否存在记录时的性能问题?
- 3. 通过数千条记录(属性)搜索并返回数据
- 4. Redux:每条记录可能有数千条记录的一种格式
- 5. 提高大量行的性能(1,000,000条记录)
- 6. MySQL的 - 检索最后一条记录在每个分组
- 7. 如何检索mysql中的最后一条记录?
- 8. 使用早期绑定从CRM中检索最高一条记录
- 9. 如何以高性能的方式检索“关联”记录和“关联”记录?
- 10. 当我在MySQL中使用LIMIT子句并记录数千条记录时,效率是否一样?
- 11. 检索记录从一个记录到另一个记录
- 12. 是否将查询限制为一条记录可提高性能
- 13. 从数据库中检索一百万条记录
- 14. 在SQL Server 2005日志记录表中提高性能
- 15. 如何提高从数据库中检索大量数据的时间性能?
- 16. Mysql select - 提高性能
- 17. MySQL查询提高性能
- 18. MySQL提高性能大表
- 19. 提高MySQL的性能
- 20. MySQL - 提高查询性能
- 21. 提高性能的一大MySQL表
- 22. 提高搜索性能
- 23. Ember用hasMany关系检索一条记录的计算属性?
- 24. 搜索1亿条记录时的性能
- 25. 在一个查询中检索目标记录和周围的n条记录?
- 26. PHP提高执行多个查询时读取一千行文件的性能
- 27. 从MySQL中检索数据的特定记录已不存在
- 28. 提高MySQL中的查询性能
- 29. 从最后一个记录检索后从postgresql拉记录
- 30. 建议从Azure表存储中提取几千条单独记录?
什么是“更多4条记录”? – 2010-08-02 11:21:16
我假设你已经建立了一个索引? – relet 2010-08-02 11:22:44
40000行在数据库方面不算什么。您可能会做一些糟糕的事情,使您的数据库像 – 2010-08-02 11:25:17