创建索引字段(C_CompanyName--公司名称,字段长度在10-16之间)
100万条数据
完全索引:
数据 52,406.9 KB
索引 58,214.0 KB
总计 108.0 MB
10位索引:
数据 52,406.9 KB
索引 43,402.0 KB
总计 95,808.9 KB
08位索引:
数据 52,406.9 KB
索引 36,906.0 KB
总计 89,312.9 KB
10位索引对于8位索引的索引大小增长14.967%
(434020-369060)/434020=14.967%
完全索引对于10位索引的索引大小增长25.444%
(582140-434020)/582140=25.444%
完全索引对于8位索引的索引大小增长36.603%
(582140-369060)/582140=36.603%
以下是查询时间(毫秒):
查询命中的:
100条数据 第一次、二、三、四、、、、、、
完全索引查询总时间:840 710 720 710 691 720
10位索引查询总时间:901 131 141 121 190 180
08位索引查询总时间:1021 150 110 160 140 111
400条数据
完全索引查询总时间:1471 1019 1059 1120 1203 1048 1187 1180
10位索引查询总时间:3033 547 518 469 472 625 418 471
08位索引查询总时间:2752 573 623 567 449 575 549 540
500条数据
完全索引查询总时间:1532 1232 1281 1190 1301 --->
10位索引查询总时间:2885 670 661 673 710 ----->
08位索引查询总时间:3360 690 730 806 621 ------->
---> 1151 1281 1220 1280 1260 1270
-----> 700 654 641 641 711 641
-------> 761 650 731 691 690 701
600条数据
完全索引查询总时间:1713 1381 1351 1440 1291 --->
10位索引查询总时间:3682 761 852 720 841 ----->
08位索引查询总时间:3011 751 830 823 801 ------->
---> 1371 1381 1422 1290 1412 1401
-----> 740 811 861 851 790 822
-------> 800 871 720 832 811 720
800条数据
完全索引查询总时间:2023 1652 1652 1641 1561 --->
10位索引查询总时间:4042 1090 901 1071 801 ----->
08位索引查询总时间:3453 971 1160 1090 951 ------->
---> 1662 1621 1772 1662 1631 1620
-----> 951 1141 1040 960 980 1050
-------> 1110 1001 881 1101 1092 1033
1000条数据
完全索引查询总时间:2413 1841 1961 1883 1871 --->
10位索引查询总时间:3564 1353 1321 1210 1272 ----->
08位索引查询总时间:4102 1080 1211 1301 1201 ------->
---> 1800 1931 1983 1831 1802 1893
-----> 1190 1271 1110 1252 1201 1340
-------> 1414 1212 1261 1331 1331 1241
命中查询使用的数据是连续的一片数据,并没有使用零碎分散的数据。这样只会影响第一次查询,使用零碎数据首次查询的时间会远大于使用连续数据首次查询的时间。不过接下来的查询就差不多。
零碎查询
100条数据
6324 733 729 732 744
7616 149 148 174 153
6369 144 134 146 147
500 条数据
19509 1279 1267 1248 1242 1248
18462 673 671 665 651 691
20771 684 679 672 678 664
查询不命中的数据:
数据
完全索引查询总时间: 4895 753 766 750 757 778
10位索引查询总时间: 3046 147 156 140 138 146
08位索引查询总时间: 4134 149 133 135 142 133
对于查询命中速度:8位索引和10位索引查询速度相差不大。差不多一样,而相比于完全索引的查询速度,大概增长了40%左右。
对于查询不命中速度:初次查询都差不多,而接下来的查询,10位索引和8位索引的查询速度明显快于完全索引的查询速度。
从数据上看,对于数据库创建索引,只要该字段的前多少位能满足我们的查询需求,这样适当的控制建立索引字段的位数能提高查询速度,同时也能减少索引文件的大小。
分享到:
相关推荐
Oracle 数据库索引优化方法探析 Oracle 数据库索引优化方法探析是指通过对 Oracle 数据库索引的分析和优化,以提高数据库的查询效率和性能。 Oracle 数据库索引是一种数据结构,用于快速访问数据库表的特定信息。...
MySQL数据库索引优化是数据库管理员和开发人员在提升数据库性能方面的一个关键点,涉及BTree索引和Hash索引以及索引优化的策略。索引是数据库中一种非常重要的数据结构,它能够大幅提升查询的效率,但也需要恰当的...
MySQL 数据库索引优化是提高查询效率的关键技术。索引是一种数据结构,它允许数据库快速找到存储在表中的特定记录,而无需遍历整个表。在处理大量数据时,索引能够显著减少查询时间,尤其是在涉及多行的复杂查询中。...
三、索引优化 1. 选择性:索引的选择性越高,表示索引区分度越大,查询性能通常越好。选择性低的列不适合建立索引。 2. 索引维护:索引需要随着数据的增删改进行维护,因此要考虑操作频率和复杂度。 3. 分区索引:...
高清完整版 数据库索引设计与优化 高清完整版 数据库索引设计与优化
深入理解SqlServer索引机制及合理优化数据库
### 数据库索引及优化详解 #### 一、数据库索引的重要性 数据库索引就像是图书中的目录,能够显著提升查询速度。例如,在执行查询 `SELECT * FROM table1 WHERE id = 44` 时,如果没有索引,系统需要逐行扫描整个...
数据库索引设计与优化数据库索引设计与优化数据库索引设计与优化数据库索引设计与优化数据库索引设计与优化数据库索引设计与优化数据库索引设计与优化数据库索引设计与优化数据库索引设计与优化数据库索引设计与优化...
《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地...
数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与...
数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与...
关联规则数据结构分布重排的数据库索引算法,是一种针对网络信息文本数据库索引优化的技术。它旨在解决传统方法中存在的问题,例如数据结构间的干扰导致的索引精度下降以及扩展查询中聚类特征的不一致性。 数据库...
MySQL索引优化是数据库性能提升的关键技术之一,尤其在处理大量数据时,高效索引能够显著加快查询速度,降低服务器负载。本课件主要聚焦于MySQL数据库的索引原理、优化策略以及相关存储过程和触发器的应用。 首先,...
"医院HIS系统SQLServer数据库性能...医院HIS系统SQLServer数据库性能优化是指通过调整规则、数据库服务器的配置优化、数据库索引优化、数据库查询优化、数据库备份和恢复优化等方面来提高数据库服务器的性能和可靠性。