zoukankan      html  css  js  c++  java
  • mysql索引

    如果表的存储引擎是myisam,则可以看到表由三个文件组成。
    xxx.frm 表结构
    xxx.myd 表数据
    xxx.myi 表的索引
    
    创建主键索引
    alter table 表名 add primary key (字段)
    
    创建唯一索引
    alter table 表名 add unique (字段)
    create unique index 索引名 on 表名 (字段)
    
    创建普通索引
    alter talbe 表名 add index 索引名 (字段)
    create index 索引名 on 表名 (字段)
    
    查看表的索引
    show index from 表名G;
    
    创建全文索引
    
    alter table 表名 add fulltext index 索引名 (字段)
    
    1.只有myisam存储引擎支持全文索引,innodb不支持。
    2.mysql的全文索引不支持中文。
    3.如果一个词出现的机率是50%,是不会做全文索引的,这个词叫停止词。
    4.全文索引必须同match()函数一起执行
    select * from 表名 where match(字段) against('搜索字符串');
    
    如何使用索引?
    
    1.如果用主键去查询,自动会使用主键索引。
    2.如果创建的是复合索引,只有左边的可以用,右边没用。
    3.模糊查询的时候,%号或_写在左边是无效的,没有用索引。
    4.在条件语句中使用or,or的两边字段都必须要有索引,有一个没有,索引就无法使用。
    5.如果一个字段是字符型的,必须用引号引起来,不然无法使用。
    
    myisam表进行碎片整理?
    
    optimize table 表名
    
  • 相关阅读:
    bzoj2124-等差子序列
    线程安全问题
    IDEA导入maven中导入net.sf.json报错的解决方法
    Java写到.txt文件,如何实现换行
    POI读取Excel如何判断行为空
    为什么JAVA对象需要实现序列化?
    支付宝老版本的支付文档
    连接池和数据源的区别是什么 [
    文件下载时格式设置
    postConstruct执行过程
  • 原文地址:https://www.cnblogs.com/jkko123/p/6294722.html
Copyright © 2011-2022 走看看