已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
10天前关闭。
这篇文章是编辑并提交审查8天前.
Improve this question
当从一个没有索引的表中选择一个特定的列时,我如何在一秒钟内获得数据?通常,表需要4分钟才能获得数据。该表包含140万个数据。
由于列选择是动态的,我不能为每一列添加索引,因此在不创建索引的情况下如何解决此问题?
我需要建议或一个完美的查询没有日期过滤器。
SELECT DISTINCT COLUMN1 FROM TABLE1 WHERE COLUMN1 IS NOT NULL;
我想在从表中选择特定列时在一秒内(30秒以下)获得数据。
1条答案
按热度按时间fnatzsnv1#
如果需要动态列但没有构造索引,则表分区将是最佳选择。分区有助于将大型表划分为更易于管理、更易于访问的部分。绩效改进查询的示例:
包含所请求列的分区的名称在此查询中称为“PARTITIONNAME”。通过将搜索限制在特定的分区,我们可以跳过扫描整个表并获得更快的结果。
此外,通过正确配置服务器,包括增加该高速缓存RAM和修改数据库规格,可以提高性能。
虽然这种策略可以提高性能,但使用索引仍然是提高查询速度的最有效技术。