の主キー(複合キー)を1つのBIGINT
プライマリキーに「パックする」と効率的ですか?それはmySQL内で自動的に行うことができますか?それともクライアント(PHP、C++)で行う必要がありますか?「INT」主キーを1つの「LONG」にパック
私は、mySQL内でユーザーIDを相互に(例えば、友だち検索者用に)接続する方向性グラフを作成しています。
パッカーのようなものに見えるかもしれませんので、MySQLは、8バイトのBIGINT
sおよび4バイトのINT
秒をサポートしています。大きな男の子(FB、LI)がそれを行うにはどうすればよい
id_edge = ((BIGINT)id_from)*pow(2,31) + ((BIGINT)id_to)
を?
CREATE TABLE `things`.`connections` (
`id_edge` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'Need a single pk for gii\n' ,
`id_from` INT NOT NULL ,
`id_to` INT NOT NULL ,
....
"各列に1つのデータを格納する必要があります - それ以上のことはありません*" - 例外は、['SET'型](http://dev.mysql.com/doc/refman/5.1 /en/set.html)。 – binaryLV