1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

Merge pull request #934 from juzi214032/patch-8

fix: 修正错别字
This commit is contained in:
SnailClimb 2020-09-17 13:39:26 +08:00 committed by GitHub
commit 909ef8faf1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -75,7 +75,7 @@ select username , age from user where username = 'Java' and age = 22
## 选择索引和编写利用这些索引的查询的3个原则
1. 单行访问是很慢的。特别是在机械硬盘存储中(SSD的随机I/O要快很多不过这一点仍然成立。如果服务器从存储中读取一个数据块只是为了获取其中一行那么就浪费了很多工作。最好读取的块中能包含尽可能多所需要的行。使用索引可以创建位置引用以提升效率。
2. 按顺序访问范围数据是很快的,这有两个原因。第一,顺序1/0不需要多次磁盘寻道所以比随机I/O要快很多特别是对机械硬盘。第二如果服务器能够按需要顺序读取数据那么就不再需要额外的排序操作并且GROUPBY查询也无须再做排序和将行按组进行聚合计算了。
2. 按顺序访问范围数据是很快的,这有两个原因。第一,顺序 I/O 不需要多次磁盘寻道所以比随机I/O要快很多特别是对机械硬盘。第二如果服务器能够按需要顺序读取数据那么就不再需要额外的排序操作并且GROUPBY查询也无须再做排序和将行按组进行聚合计算了。
3. 索引覆盖查询是很快的。如果一个索引包含了查询需要的所有列,那么存储引擎就
不需要再回表查找行。这避免了大量的单行访问而上面的第1点已经写明单行访
问是很慢的。