mysql 索引与优化 之 索引算法

来源:互联网 发布:剑灵龙女九头身数据图 编辑:程序博客网 时间:2024/06/03 12:46
mysql 索引与优化 之 索引算法普通索引 (index);主键索引 (primary key);唯一索引 (unique);全文索引 (fulltext);1、btree(二叉树)索引1 2 3 4 5 6 7      4  2       61   3   5   72、hash(啥希)索引中,国,人,民散列算法中--->005--->007--->020--->0991:算出来的值,不连续,浪费空间2:有重复的可能性.frm = 结构文件.MYD  =  数据文件。MYI = 索引文件普通索引 :仅加快速度主键索引 :不能重复()    主键必是唯一,但是唯一索引不一定是主键    一张表上,只能有一个主键,但是可以用一个或多个唯一索引唯一索引 :行上的值不能重复全文索引 :查看一张表上所有索引show index form 表名建立索引        普通索引        alter table 表名 add index  index[index]  索引名[列名]        唯一索引        alter table 表名 add unique  (unique) 可直接写[列名]        全文索引        talter table 表名 add fulltex  (fulltex)  可直接写[列名]        主键索引        talter table 表名 add primary key (id)  可直接写[列名]删除索引        alter table 表名 drop index 索引名        alter table 表名 drop index primary key(删除主键索引)索引:索引:是针对数据所建立的目录作用:可以加快查询速度负面影响:降低了增删改的速度案例:1设有新闻表15列,10列上有索引,共500W行数据,如何快速导入?1.把空表的索引全部删除2.导入数据3.数据导入完毕后,集中建索引索引的创建原则1、不要过度索引2、在wehre条件最频繁的列上加3、尽量索引散列值(类似id,重复性较小),过于集中的值加索引意义不大全文索引:在mysql的默认情况下,对于中文意义不大查看匹配度select id,email,match(intro) against ('health') form memberselect * fromwhere match(列字段)   against('要在文章中查找的');关于全文索引的停止词全文索引不针对非常频繁的词做索引如this,is,you,my 等等全文索引在 mysql 的默认情况下,对于中文的意义不大因为英文有空格,标点符号来拆成单词,进而对单词进行索引而对于中文,没有空格来隔开单词,mysql无法识别每个中文词
0 0
原创粉丝点击