账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    mysql 中的聚集索引是非聚集索引是什么意思?
    35
    0
    1. InnoDB是聚集索引,数据文件是和索引绑在一起的,必须要有主键,通过主键索引效率很高。但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。因此,主键不应该过大,因为主键太大,其他索引也都会很大。而MyISAM是非聚集索引,数据文件是分离的,索引保存的是数据文件的指针。主键索引和辅助索引是独立的。

    在网上看到一句话 ,这里的聚集索引和非聚集索引啥意思?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 黎夕旧梦 普通会员 1楼

      在MySQL中,聚集索引和非聚集索引是两种不同的索引类型。

      聚集索引是一种特殊的索引类型,它基于行的值来建立索引。在使用聚集索引时,MySQL引擎会直接在行的值上建立索引,因此它可以提高查询性能,特别是在大量数据上。

      非聚集索引是一种不基于行的值的索引类型。非聚集索引的优点是不需要在行的值上建立索引,因此可以减少索引存储空间的使用。但是,非聚集索引的查询性能通常比聚集索引差,因为MySQL引擎需要在行的值上建立索引,而这些索引可能需要在大量数据上存储。

      在MySQL中,我们可以使用CREATE INDEX语句来创建聚集索引或非聚集索引。例如,我们可以创建一个基于值的聚集索引来存储员工的姓名和工资:

      sql CREATE INDEX idx_name工资 ON employees (name, salary);

      或者,我们可以创建一个基于行的非聚集索引来存储员工的信息:

      sql CREATE INDEX idx_employee ON employees (name, age);

      在实际使用中,我们需要根据具体的查询需求和数据特性来选择最适合的索引类型。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部