在具有多个表的MySQL数据库中,是否受同一数据库中所有其他表的大小影响的表上的查询运行时间?受其他表大小影响的表的MySQL速度?
回答
我只能想到其他表可能会对查询产生两种影响,假设这些表未包含在查询中,没有其他查询正在运行,并且没有链接表的约束或触发器。
第一个效果是在编译阶段。在此阶段,SQL解析器从元数据表中获取有关表和列的信息。数据库中的更多表和列可能会减慢查询的编译速度。
其他影响是页表和磁盘碎片。如果你有一个干净的系统并开始分配和填充页面,那么页面可能会填充磁盘上的连续页面(不保证,但可能)。在访问时,操作系统可能预先获取与请求页面相邻的物理页面。在我描述的环境中,这个预取数据可能会用在查询中。
在具有多个表的数据库中,磁盘碎片的可能性大得多。在这种情况下,预取硬件页面不太可能用于查询中的相同表格。这意味着它们没有被使用,所以需要额外的I/O请求来获得下一页。
我已经在磁盘碎片方面描述了这一点,但页面本身可能会发生类似的情况。存储表格数据的物理页面可能不是连续的,具有相似的结果。
碎片可能是数据库的问题。事实上,无论数据库中有多少表,它都可能成为问题。但是更多的表格具有更多的插入/删除活动往往会增加碎片。但是,这些影响通常很小,只会在某些极端情况下导致性能显着下降。
磁盘碎片和I/O缓存问题更多地关联到相同的服务器,而不是相同的数据库,但他们仍应该考虑。不确定同一服务器上的不同数据库是否会在查询编译和规划时影响性能。 – Vatev 2012-07-28 00:58:10
有许多表(和数据)只需要一个硬盘空间。
处理速度取决于您执行的表优化和大小+查询,而不是整个数据库。
查询运行时可能会受到各种服务器环境问题的影响,因此,虽然可以说在数据库中具有其他大型表并不会影响无关表上查询的速度,实际情况是,这些表格可能也会被查询并消耗服务器资源。这当然会影响您的查询速度。
它应该只是一个问题,如果该表(大)与其他表与一些连接(外键约束将是一个例子)相关...否则你的表应该独立行为。也就是说,如果你有一张表如此庞大以至于造成速度问题,那么你可能需要找到其他解决方案来将一些数据重构为更小的子集。
- 1. MySQL写入是否受到表大小的影响?
- 2. HTML:div不受影像大小的影响
- 3. 如何从mysql删除pma表而不影响其他表
- 4. AS3:影响速度的鼠标速度
- 5. 表大小是否影响INSERT性能?
- 6. 做大XML文件影响速度?
- 7. 影响其他对象列表的对象列表
- 8. mysql:将插入到临时表中的受影响的行
- 9. Rails - 表格列的宽度受选择框的影响
- 10. Cookie大小是否会影响加载速度? (PHP)
- 11. 固定字体大小不受放大或缩小影响
- 12. UIWebView:表格宽度会影响文字大小
- 13. 应用程序大小是否影响启动速度和内存大小
- 14. 对于从MySQL中提取大型表的子集,索引,表顺序如何影响查询速度?
- 15. CoreData获取速度受NSPredicate中参数数量的影响?
- 16. 记录受MySQL中表锁影响的查询
- 17. 在vb.net winform中调整control.size宽度设计器的大小,但是此操作影响其他控件大小
- 18. Laravel 5:受影响的行的MySQL
- 19. MySQL的搜索受影响的行
- 20. 异常的生命周期是否受其他异常影响?
- 21. C++,受到scanf语句影响的其他变量
- 22. 调整表格中的textarea影响其他TR的边距
- 23. MySQL的row_count()行受到影响
- 24. 文本节点的大小是否会影响DOM遍历的速度?
- 25. 大PermGen的大小+性能的影响
- 26. Html页面大小和响应速度
- 27. 一个我不想受到CSS影响的图像正在受其影响
- 28. 如何确保Flex项目受其子项宽度的影响?
- 29. 受图像大小影响的EmguCV形状检测
- 30. 排序结果受varchar列的长度影响mysql
其受插入和更新的同一表的大小的影响。但其他桌子?我不确定。只有插入,更新,选择使用“其他表”我猜 – nawfal 2012-07-27 21:12:17