gpt4 book ai didi

sql - 如何管理包含大量插入和选择的大表?

转载 作者:搜寻专家 更新时间:2023-10-30 20:19:33 24 4
gpt4 key购买 nike

我有一个表,名为 X,大约有 64 列,用于存储在线金融交易。每天有几百万条记录被插入到X中,X中大约有16列是可查询的,也就是说很多系统报表需要根据这16列的值来过滤X的数据。

所有这 16 列都有数据库索引会使插入操作太慢。另一方面,某些列上没有索引也会使某些报告太慢。

所以,问题来了。我如何设计表 X 及其索引以获得插入和报告的最佳性能?我使用 oracle 11g 数据库管理系统。

最佳答案

尝试对表进行分区。与其创建一个巨大的表,不如每天、每周或每月创建一个表,并创建一个将所有表连接起来以供查询的 View 。或者,Oracle 支持分区表(但是否可用取决于您的 Oracle 版本)。

插入数据时,插入到正确的分区中。这样,要更新的索引就会小得多。缺点是您将需要更多的索引空间,因为索引值会重复。

从积极的方面来说,查询可能会快得多,因为数据库可以并行读取位于不同磁盘上的表。

另请注意,SQL 数据库不会扩展到任意大小。请考虑使用集群数据库或云数据库。它们还有其他缺点,但它们可以处理任意数量的记录(只要您有足够的物理空间供服务器使用)。

关于sql - 如何管理包含大量插入和选择的大表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12896735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com