为什么从服务器查询数据需要很长时间,数据大约有20000条记录? 而且我的网络很稳定,请问是什么问题?我也优化了代码。
与 SQL 学习者和所有了解 SQL 的人进行良好的解释和更多讨论。
1。使用适当的数据类型
使用适当的数据类型,因为 RAM 计算基于取自下面Oracle 参考的数据类型。
如果您为每一列指定其数据类型的最大长度或精度,那么您的应用程序将不必要地分配许多兆字节的 RAM。例如,假设查询选择 10 个 VARCHAR2(4000) 列,并且批量获取操作返回 100 行。您的应用程序必须分配的 RAM 是 10 x 4,000 x 100 — 几乎 4 MB。相反,如果列长度为 80,则应用程序必须分配的 RAM 为 10 x 80 x 100 — 大约 78 KB。这种差异对于单个查询来说非常重要,并且您的应用程序将同时处理许多查询。因此,您的应用程序必须为每个连接分配 4 MB 或 78 KB RAM。
2。避免重复使用
select *
确保不要使用
select *
来使查询性能更快。
3.使用索引
使用索引来加速数据查询过程。然而,创建索引需要进一步的理解。每次添加或删除数据时,索引也会增加开销,因此请避免在一张表中使用多个索引。
索引的重要性可以通过MySQL参考了解。
索引对于小表或报表查询处理大部分或全部行的大表的查询不太重要。当查询需要访问大部分行时,按顺序读取比通过索引更快。顺序读取最大限度地减少磁盘查找,即使查询不需要所有行。有关详细信息,请参阅第 10.2.1.23 节“避免全表扫描”。
4。避免使用大量连接
建议不要使用很多连接,我的建议是限制在一个查询中最多使用 3 个连接。这也会导致数据库执行全表扫描。
5。使用分区
当数据超过 2 GB 时使用分区。分区的一些好处可以在 Oracle 参考中找到。