mysql怎么查沒有索引的表 mysql設(shè)置主鍵還要設(shè)置索引嗎?
mysql設(shè)置主鍵還要設(shè)置索引嗎?不是,主鍵有索引的作用。當你創(chuàng)建或設(shè)置主鍵時,mysql會自動添加與主鍵對應(yīng)的唯一索引,不需要額外添加。如果查詢條件中沒有使用主鍵,可以將查詢字段設(shè)置為索引。如果要在
mysql設(shè)置主鍵還要設(shè)置索引嗎?
不是,主鍵有索引的作用。當你創(chuàng)建或設(shè)置主鍵時,mysql會自動添加與主鍵對應(yīng)的唯一索引,不需要額外添加。如果查詢條件中沒有使用主鍵,可以將查詢字段設(shè)置為索引。如果要在主鍵上設(shè)置索引,主鍵有索引的功能。擴展數(shù)據(jù):
1.主鍵必須是唯一索引,唯一性不一定是主鍵。
2.一個表可以有多個唯一索引,但只能有一個主鍵。
3.主鍵列不允許為空,而唯一索引列允許為空。
4.主鍵也可以由多個字段組成復(fù)合主鍵,復(fù)合主鍵也是唯一索引。
mysql有全局臨時表嗎?
讓 讓我們先談?wù)勁R時表的概念。顧名思義,臨時表是臨時的,銷毀的表就用完了。數(shù)據(jù)可以存儲在臨時文件系統(tǒng)或固定磁盤文件系統(tǒng)中。臨時表如下:
1個全局臨時表
這個臨時表在數(shù)據(jù)庫實例啟動后生效,在數(shù)據(jù)庫實例銷毀后失效。在MySQL中,這個臨時表對應(yīng)的是內(nèi)存表,也就是內(nèi)存引擎。
2會話級臨時表
該臨時表在用戶成功登錄系統(tǒng)后生效,在用戶退出時失效。MySQL中的臨時表是指用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秒)
編寫一個存儲過程來批量創(chuàng)建臨時表:
分隔符$$
使用` t_girl`$$
drop procedure IF EXISTS ` sp _ create _ temporary _ table ` $ $
CREATEDEFINER`root`@`localhost `過程` sp_create_temporary_table `(
在f_無符號整數(shù))
開始
聲明i INT無符號默認值1
當我離開時
防御命令(Defense Order)
SET @ stmt CONCAT(create temporary table tmp,I,(id int,tmp_desc varchar(60))
從@stmt準備s1
執(zhí)行s1
集合i i 1
結(jié)束時間
丟棄準備s1
結(jié)束$$
定界符
現(xiàn)在創(chuàng)建10個臨時表:
mysqlgtcall sp _ create _ temporary _ table(10)
QueryOK,0行受影響(0.07秒)
如果在以前,我們只知道創(chuàng)建了10個臨時表,但只能靠記憶或手工記錄臨時表的名稱等信息。
現(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秒)
我 我將在這里停止功能。如果對性能感興趣,可以找時間測試一下。