五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

Mysql如何適當(dāng)?shù)奶砑铀饕榻B

發(fā)布日期:2022-03-14 17:47 | 文章來(lái)源:CSDN

這里先簡(jiǎn)單介紹一下索引:

添加索引是為了提高數(shù)據(jù)庫(kù)查詢性能,索引是最物美價(jià)廉的東西了,不用加內(nèi)存,不用改程序,不用調(diào)sql,只要執(zhí)行個(gè)正確的create index ,查詢的速度就可能提高百倍千倍,這可是有誘惑力的,可是天下沒有沒費(fèi)的午餐,查詢的速度的提高是以犧牲insert update delete的速度為代價(jià)的。而且索引大小一般是數(shù)據(jù)的三分之一 ,再加上索引要加載進(jìn)內(nèi)存的,如果全部字段都加索引會(huì)以犧牲內(nèi)存為代價(jià)的,所以才要設(shè)當(dāng)?shù)奶砑铀饕?/p>

這里簡(jiǎn)單介紹一下mysql中常用索引:

在添加索引之前最好先查看一下該表中已存在哪些索引:show index from 表名;

1、主鍵索引

注意: 主鍵索引一張表中只能有一個(gè),但是可以添加多個(gè)索引 比如:唯一索引、普通索引、全文索引。

主鍵索引:一般在建表的時(shí)候就添加了 比如:id 一般是主鍵索引加自動(dòng)遞增。

建表后添加主鍵索引 :alter table table_name add primary key (column name);

主鍵索引的特點(diǎn):不能為空且唯一。

2、普通索引

創(chuàng)建普通索引:alter table table_name add index 索引名(column1,column2);

3、唯一索引

創(chuàng)建唯一索引:ALTER TABLE `table_name` ADD UNIQUE (`column`);

唯一索引與主鍵索引的區(qū)別:

唯一索引:可以有多個(gè)null 但數(shù)據(jù)內(nèi)容不能重復(fù)

主鍵索引:不能為null,且內(nèi)容只能唯一。

兩個(gè)區(qū)別就在于主鍵索引不能為null 唯一索引可以有多個(gè)null 其余都一樣。

4、全文索引

全文索引只有MyISAM有效(mysql5.6之后InnoDB也支持了全文索引)[5.7不支持MyISAM]

全文索引主要針對(duì)文本文件,比如文章、標(biāo)題。

在創(chuàng)建表時(shí)創(chuàng)建全文索引:

    CREATE TABLE `article` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
     `title` varchar(200) DEFAULT NULL,
 `    content` text,
      PRIMARY KEY (`id`),
      FULLTEXT KEY `title` (`title`,`content`)
      ) ENGINE=MyISAM(5.6之后InnoDB也支持全文索引 、5.7不支持MyISAM引擎) DEFAULT CHARSET=utf8;

在現(xiàn)有表中創(chuàng)建全文索引:

ALTER TABLE article ADD FULLTEXT INDEX fulltext_article(title,content);

創(chuàng)建完全文索引之后使用也有要注意的地方:

眾所周知在數(shù)據(jù)庫(kù)中進(jìn)行模糊查詢是使用like關(guān)鍵字進(jìn)行查詢的,例如:

SELECT * FROM article WHERE content LIKE ‘%查詢字符串%';

那么,我們?cè)谑褂萌乃饕策@樣使用嗎?當(dāng)然不是,我們必須使用特有的語(yǔ)法才能使用全文索引進(jìn)行查詢,例如,我們想要在article表的title和content列中全文檢索指定的查詢字符串,我們可以如下編寫SQL語(yǔ)句:

SELECT * FROM article WHERE MATCH(title,content) AGAINST (‘查詢字符串');

強(qiáng)烈注意:MySql自帶的全文索引只能對(duì)英文進(jìn)行全文檢索,目前無(wú)法對(duì)中文進(jìn)行全文檢索。如果需要對(duì)包含中文在內(nèi)的文本數(shù)據(jù)進(jìn)行全文檢索,我們需要采用Sphinx(斯芬克斯)/Coreseek技術(shù)來(lái)處理中文。

注:目前,使用MySql自帶的全文索引時(shí),如果查詢字符串的長(zhǎng)度過(guò)短將無(wú)法得到期望的搜索結(jié)果。MySql全文索引所能找到的詞默認(rèn)最小長(zhǎng)度為4個(gè)字符。另外,如果查詢的字符串包含停止詞,那么該停止詞將會(huì)被忽略。

如果可能,請(qǐng)盡量先創(chuàng)建表并插入所有數(shù)據(jù)后再創(chuàng)建全文索引,而不要在創(chuàng)建表時(shí)就直接創(chuàng)建全文索引,因?yàn)榍罢弑群笳叩娜乃饕室摺?/p>

刪除索引sql語(yǔ)句:alter table table_name drop index 索引名;

通過(guò)上面的簡(jiǎn)單介紹后,那么應(yīng)該在哪些字段上添加索引呢?

1、 頻繁查詢的字段,應(yīng)該創(chuàng)建索引。

2、更新非常頻繁的字段,不應(yīng)該創(chuàng)建索引。

3、唯一性太差的字段,比如 gender字段,就不應(yīng)該創(chuàng)建索引。

4、不會(huì)出現(xiàn)在where條件之后的字段,不應(yīng)該創(chuàng)建索引。

滿足一下條件,應(yīng)該創(chuàng)建索引:

1、頻繁要查詢的字段,經(jīng)常出現(xiàn)在where條件后面的字段,應(yīng)該創(chuàng)建索引。

2、更新不頻繁的字段,可以創(chuàng)建索引。

索引使用的注意事項(xiàng)

1.對(duì)于創(chuàng)建的多列索引,只要查詢條件使用了最左邊的列,索引一般就會(huì)被使用。

  • 比如我們對(duì)title,content 添加了復(fù)合索引
  • select * from table_name where title = 'test';會(huì)用到索引
  • select * from table_name where content = 'test';不會(huì)用到索引

2.對(duì)于使用like的查詢,查詢?nèi)绻恰?a'不會(huì)使用到索引,而 like 'a%'就會(huì)用到索引。最前面不能使用%和_這樣的變化值

3.如果條件中有or,即使其中有條件帶索引也不會(huì)使用。

4.如果列類型是字符串,那一定要在條件中將數(shù)據(jù)使用引號(hào)引用起來(lái)。

  • 查看索引的使用情況:show status like‘Handler_read%';
  • handler_read_key:這個(gè)值越高越好,越高表示使用索引查詢到的次數(shù)。
  • handler_read_rnd_next:這個(gè)值越高,說(shuō)明查詢低效。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)本站的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

美國(guó)快速服務(wù)器

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部