【问题标题】:Is a Data-filled SQL table queryable while setting up a new index?设置新索引时是否可以查询填充数据的 SQL 表?
【发布时间】:2017-12-18 14:55:34
【问题描述】:

给定一个 SQL 中的实时表,其中包含一些重要的列/条目,并且有一个或多个应用程序主动查询它,在该表的某些列上引入新索引会产生什么影响? 什么优先?为查询提供服务,还是构建索引? 换句话说,查询应用程序是否会将设置索引视为延迟获得响应?

【问题讨论】:

    标签: sql database indexing


    【解决方案1】:

    在进行索引时可以使用数据库,但我们几乎不可能说它对性能的影响。优化器的很多方面对于没有自己研究过的人来说都是神奇的,并且答案可能会根据您使用的 RDMS 发生很大变化。最重要的是,您自己的硬件将在答案中发挥重要作用。

    话虽如此,如果您主要是从表格中读取数据,那么如果您的系统具有同时处理这两个任务的 IO/CPU 能力,那么您很可能不会看到性能受到重大影响。但是,插入速度会大大减慢。

    这种影响是否存在问题将取决于您当前的系统负载、表的大小以及您要索引的具体内容。一般来说,如果您有一台不错的服务器、低负载以及只有几百万行或更少的表,我根本不会期望看到性能受到影响。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      • 2019-12-18
      • 2011-05-19
      • 2011-04-15
      • 2013-11-19
      相关资源
      最近更新 更多