mysql怎么查沒(méi)有索引的表 mysql設(shè)置主鍵還要設(shè)置索引嗎?
mysql設(shè)置主鍵還要設(shè)置索引嗎?不是,主鍵有索引的作用。當(dāng)你創(chuàng)建或設(shè)置主鍵時(shí),mysql會(huì)自動(dòng)添加與主鍵對(duì)應(yīng)的唯一索引,不需要額外添加。如果查詢條件中沒(méi)有使用主鍵,可以將查詢字段設(shè)置為索引。如果要在
mysql設(shè)置主鍵還要設(shè)置索引嗎?
不是,主鍵有索引的作用。當(dāng)你創(chuàng)建或設(shè)置主鍵時(shí),mysql會(huì)自動(dòng)添加與主鍵對(duì)應(yīng)的唯一索引,不需要額外添加。如果查詢條件中沒(méi)有使用主鍵,可以將查詢字段設(shè)置為索引。如果要在主鍵上設(shè)置索引,主鍵有索引的功能。擴(kuò)展數(shù)據(jù):
1.主鍵必須是唯一索引,唯一性不一定是主鍵。
2.一個(gè)表可以有多個(gè)唯一索引,但只能有一個(gè)主鍵。
3.主鍵列不允許為空,而唯一索引列允許為空。
4.主鍵也可以由多個(gè)字段組成復(fù)合主鍵,復(fù)合主鍵也是唯一索引。
mysql有全局臨時(shí)表嗎?
讓 讓我們先談?wù)勁R時(shí)表的概念。顧名思義,臨時(shí)表是臨時(shí)的,銷毀的表就用完了。數(shù)據(jù)可以存儲(chǔ)在臨時(shí)文件系統(tǒng)或固定磁盤文件系統(tǒng)中。臨時(shí)表如下:
1個(gè)全局臨時(shí)表
這個(gè)臨時(shí)表在數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)后生效,在數(shù)據(jù)庫(kù)實(shí)例銷毀后失效。在MySQL中,這個(gè)臨時(shí)表對(duì)應(yīng)的是內(nèi)存表,也就是內(nèi)存引擎。
2會(huì)話級(jí)臨時(shí)表
該臨時(shí)表在用戶成功登錄系統(tǒng)后生效,在用戶退出時(shí)失效。MySQL中的臨時(shí)表是指用cr:/usr/local/mysql/data# ln-s/run/shm//usr/local/MySQL/data/tmp _ spac:/usr/local/mysql/data#ls-l | gr: 28 tmp _ space 2-gt/run/shm/
然后把
innodb _ temp _ data _ file _ path tmp _ spac: 200 m: auto extend
添加到中[mysqld]下面的行。
重啟MySQL服務(wù)后,
mysqlgtselect @ @ innodb _ t: tmp _ spac: 200 m: auto extend
1行一組(0.00秒)
編寫一個(gè)存儲(chǔ)過(guò)程來(lái)批量創(chuàng)建臨時(shí)表:
分隔符$$
使用` t_girl`$$
drop procedure IF EXISTS ` sp _ create _ temporary _ table ` $ $
CREATEDEFINER`root`@`localhost `過(guò)程` sp_create_temporary_table `(
在f_無(wú)符號(hào)整數(shù))
開始
聲明i INT無(wú)符號(hào)默認(rèn)值1
當(dāng)我離開時(shí)
防御命令(Defense Order)
SET @ stmt CONCAT(create temporary table tmp,I,(id int,tmp_desc varchar(60))
從@stmt準(zhǔn)備s1
執(zhí)行s1
集合i i 1
結(jié)束時(shí)間
丟棄準(zhǔn)備s1
結(jié)束$$
定界符
現(xiàn)在創(chuàng)建10個(gè)臨時(shí)表:
mysqlgtcall sp _ create _ temporary _ table(10)
QueryOK,0行受影響(0.07秒)
如果在以前,我們只知道創(chuàng)建了10個(gè)臨時(shí)表,但只能靠記憶或手工記錄臨時(shí)表的名稱等信息。
現(xiàn)在,您可以直接從數(shù)據(jù)字典中檢索相關(guān)數(shù)據(jù)。
mysqlgt select * from information _ _ temp _ table _ info
- - - - - -
| TABLE _ ID | NAME | N _ COLS | SPACE | PER _ TABLE _ TABLESPACE | IS _ COMPRESSED |
- - - - - -
| 56 | # SQL 1705 _ 2 _ 9 | 5 | 36 | FALSE | FALSE |
| 55 | # SQL 1705 _ 2 _ 8 | 5 | 36 | FALSE | FALSE |
| 54 | # SQL 1705 _ 2 _ 7 | 5 | 36 | FALSE | FALSE |
| 53 | # SQL 1705 _ 2 _ 6 | 5 | 36 | FALSE | FALSE |
| 52 | # SQL 1705 _ 2 _ 5 | 5 | 36 | FALSE | FALSE |
| 51 | # SQL 1705 _ 2 _ 4 | 5 | 36 | FALSE | FALSE |
| 50 | #sql1705_2_3 | 5 | 36 |假|(zhì)假|(zhì)
| 49 | # SQL 1705 _ 2 _ 2 | 5 | 36 | FALSE | FALSE |
| 48 | # SQL 1705 _ 2 _ 1 | 5 | 36 | FALSE | FALSE |
| 47 | # SQL 1705 _ 2 _ 0 | 5 | 36 | FALSE | FALSE |
- - - - - -
一組10行(0.00秒)
我 我將在這里停止功能。如果對(duì)性能感興趣,可以找時(shí)間測(cè)試一下。