作者JoeHorn (每天都在公司玩OLG)
看板Database
标题Re: [SQL ] 多KEY的写法差别
时间Thu Dec 16 21:23:38 2010
※ 引述《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
1F:推 mesak:谢谢你提供资讯 大概了解了 12/17 23:53