MySQL如何处理非关键属性的select查询?
SQL(MySql数据库管理系统)如何处理nonKeyAttribute=someValue的表中的MySQL如何处理非关键属性的select查询?,mysql,sql,Mysql,Sql,SQL(MySql数据库管理系统)如何处理nonKeyAttribute=someValue的表中的SELECT*?当搜索在非键列上进行时,它真的会扫描整个表吗 编辑: 考虑到,在搜索属性上没有索引。 可能。 它还可能: 如果刚刚调用同一查询,则从缓存返回结果 如果列用于分区,则仅扫描具有nonKeyAttribute的分区 查找nonKeyAttribute上索引中的匹配行,如果它是索引中的第一列(某些数据库会放宽该条件) 可能是这样 它还可能: 如果刚刚调用同一查询,则从缓存返回结果 如
SELECT*?当搜索在非键列上进行时,它真的会扫描整个表吗
编辑:
考虑到,在搜索属性上没有索引。 可能。
它还可能:
- 如果刚刚调用同一查询,则从缓存返回结果
- 如果列用于分区,则仅扫描具有
nonKeyAttribute
的分区
- 查找
nonKeyAttribute
上索引中的匹配行,如果它是索引中的第一列(某些数据库会放宽该条件)
可能是这样
它还可能:
- 如果刚刚调用同一查询,则从缓存返回结果
- 如果列用于分区,则仅扫描具有
nonKeyAttribute
的分区
- 查找
nonKeyAttribute
上索引中的匹配行,如果它是索引中的第一列(某些数据库会放宽该条件)
到第1点和第3点,我知道你想说什么了。MySQL中的分区是什么?我在DynamoDB(NoSQL)中对它很熟悉,但在PrimaryKey上也是如此。@KuldeepYadav。到第1点和第3点我知道你想说什么了。MySQL中的分区是什么?我在DynamoDB(NoSQL)中对它很熟悉,但在PrimaryKey上也是如此。@KuldeepYadav。