Re: [SQL ] 多KEY的寫法差別
※ 引述《mesak (米沙)》之銘言:
先說 KEY ...
講求效能的話,請善用 KEY,以這個 SQL statement 為例:
SELECT `col_a`
FROM `table_a` LEFT JOIN `table_b`
ON `table_a`.`col_b` = `table_b`.`col_c`
WHERE `col_d` = ....;
* SELECT 的欄位不需 KEY,ex: `col_a`。
* JOIN 的欄位需要 KEY,ex: `table_a`.`col_b` 與 `table_b`.`col_c`。
* WHERE 的欄位需要 KEY,ex: `col_d`。
: 想請問一下 MySQL 寫法
: KEY `fuid` (`create_fuid`,`sign_ss_fuid`,`sign_rr_fuid`),
: 想請問一下 KEY 寫成多欄位 跟 寫成一欄
: KEY `create` (`create_fuid`),
: KEY `ss` (`sign_ss_fuid`),
: KEY `rr` (`sign_rr_fuid`),
: 兩者差別何在
就我的印象,這兩種定義方式對 SELECT 的效率來說,沒有差異。
唯一要注意的是,MySQL 的單一鍵值最大容量為 1024 bytes。
使用 Unicode 作為 charset 時,沒辦法把兩個 VARCHAR(255) 串成一個 KEY。
: KEY 是不是 = INDEX??
http://dev.mysql.com/doc/refman/5.1/en/create-table.html
KEY is normally a synonym for INDEX. The key attribute PRIMARY KEY can also
be specified as just KEY when given in a column definition. This was
implemented for compatibility with other database systems.
--
.╭═════╮。. o 。 . 。╭═╮o╭╮。. o 。 . o o . 。 ╰● √ 。
╰═╗ ╔═╯╭══╮╭══╮║▍║. ║║╭══╮╭╮。. ╭══╮ ◥██◤o
o 。║▍║。o║╭╮║║╭╮║║▍╚═╝║║╭╮║║╘═╮║╭╮║。 ◥◤ 。
。 ║▍║ 。 ║║║║║╰╯║║▍╔═╗║║║║║║╔═╯║║║║ o ∥ o .
。╭╯▃║o ║╰╯║║══╯║▃║。║║║╰╯║║║o。.║║║║. 。∥ . 。
╰══╯ ╰══╯╰══╯╰═╯ ╰╯╰══╯╰╯ ╰╯╰╯By meei0531
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.131.10
推
12/17 23:53, , 1F
12/17 23:53, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):