您当前的位置: 首页 >  sql

知其黑、受其白

暂无认证

  • 0浏览

    0关注

    1250博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MySQL索引

知其黑、受其白 发布时间:2021-03-26 11:36:55 ,浏览量:0

MySQL索引

MYSQL 中主键与唯一索引的区别

主键:绝对不能有空值。唯一索引:可以有空值

Mysql常见索引有:

  • 主键索引
  • 唯一索引
  • 普通索引
  • 全文索引
  • 组合索引

Mysql各种索引区别:

  • 普通索引:最基本的索引,没有任何限制
  • 唯一索引:与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。
  • 主键索引:它 是一种特殊的唯一索引,不允许有空值。
  • 全文索引:仅可用于 MyISAM 表,针对较大的数据,生成全文索引很耗时好空间。
  • 组合索引:为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。
PRIMARY KEY  (主键索引)   ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 
UNIQUE       (唯一索引)   ALTER TABLE `table_name` ADD UNIQUE (`column`)
INDEX        (普通索引)   ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 
FULLTEXT     (全文索引)   ALTER TABLE `table_name` ADD FULLTEXT ( `column` )

组合索引:ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` ) 

优化 MYSQL 的方法

  • 第一,数据超过一定数量或者体积,请拆分表,垂直或者水平分(最有效果的优化)
  • 第二,务必有自增主键。通过自增主键来查数据是最快的。
  • 第三,常用的查询字段建立联合索引,写 SQL 一定要尊从最左原则,用到这个索引。
  • 第四,不要把逻辑运算放到 sql 里。言外之意是,不要写太复杂的 SQL,你能写复杂的 SQL 你肯定也能通过 PHP 实现。
SELECT a.*, b.*
FROM `user` as a
LEFT JOIN `user` as b ON a.pid = b.id AND a.salary > b.salary
WHERE b.id > 0;
关注
打赏
1665558895
查看更多评论
立即登录/注册

微信扫码登录

0.0481s