zoukankan      html  css  js  c++  java
  • MySQL索引的使用方式和缺点

    一,create

    CREATE INDEX可对表增加普通索引或UNIQUE索引。

    CREATE INDEX index_name ON table_name (column_list)
    CREATE UNIQUE INDEX index_name ON table_name (column_list)

    1)建立多重的索引

      CREATE INDEX 表名_字段名1_字段名2 ON 表名 (字段名1,字段名2);

    使用explain可查看是否使用索引:SELECT * FROM mytable WHERE category_id=1 AND user_id=2;

    想让SELECT * FROM mytable WHERE category_id=1 AND user_id=2 ORDER BY adddate DESC;使用索引

    优化方法:EXPLAIN SELECT * FROM mytable WHERE category_id=1 AND user_id=2 ORDER BY category_id DESC,user_id DESC,adddate DESC;

    不能用CREATE INDEX语句创建PRIMARY KEY索引。

    二、alter

    例子:

    1.添加PRIMARY KEY(主键索引) 
    mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 


    2.添加UNIQUE(唯一索引) 
    mysql>ALTER TABLE `table_name` ADD UNIQUE ( 
    `column` 


    3.添加INDEX(普通索引) 
    mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 


    4.添加FULLTEXT(全文索引) 
    mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`) 


    5.添加多列索引 
    mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

    更加详细的方法

    使用alter table语句来为表中的字段添加索引的基本语法是:
    ALTER TABLE <表名> ADD INDEX (<字段>);

    mysql> alter table test add index(t_name);
    Query OK, 0 rows affected (0.17 sec)
    Records: 0  Duplicates: 0  Warnings: 0

    三、删除索引

    可利用ALTER TABLE或DROP INDEX语句来删除索引。类似于CREATE INDEX语句,DROP INDEX可以在ALTER TABLE内部作为一条语句处理,语法如下。

    DROP INDEX index_name ON talbe_name
    ALTER TABLE table_name DROP INDEX index_name
    ALTER TABLE table_name DROP PRIMARY KEY
     
    四、查看索引
    mysql> show index from tblname;
    mysql> show keys from tblname;
     
    索引的缺点:
    1、创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加

    2、索引需要占用物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,需要的空间就会更大。

    3、当对表中 的数据进行增加、删除、修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

  • 相关阅读:
    二级域名配置
    环信框架-消息模块
    屏幕适配问题
    iOS-NSSession
    环信框架使用
    静态UITableView
    __weak存在的问题
    MVVM与MVC
    iOS通知与多线程
    block
  • 原文地址:https://www.cnblogs.com/chenhaoyu/p/6514844.html
Copyright © 2011-2022 走看看