0
我試圖實現一個非常快速的表,旨在存儲用戶之間的關係。MySql,引擎內存,這個簡單表所需的索引?
CREATE TABLE IF NOT EXISTS `friends_ram` (
`a` varchar(16) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`b` varchar(16) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1;
INSERT INTO friends_ram (a, b)
我做了一些測試,以關係的大約500萬,它的速度極快,它佔用的RAM大約134MB;我的問題是,因爲查詢將是:
SELECT a WHERE b = 'foo';
或
SELECT b WHERE a = 'baar';
我想知道我是否應該使用合適的索引(增加所需的RAM大小)。
只是告訴的方法是添加索引,看到內存使用情況是什麼,看什麼性能差異是。 2倍的內存使用量(組成一些數字)性能提高10%在我的書中不值得,但10倍速的2倍內存=好。 –
顯然這是兩個指數的另一個61MB,我會用microtime做一些測試,看看有什麼收穫。但是從mysql CLI只有兩位小數,顯然它更快。我稍後會發布結果。 – sathia