我在MySQL的2個表之間Mysql的優化
Table_A { pk_A VARCHAR 150 PRIMARY KEY, random_data } ~ 9500 rows
Table_B { pk_B VARCHAR 150, more_random_data } ~ 50000 rows
關係是一對多,pk_A將在山坳pk_B發現多次在表-B。
我的問題是:
,如果我在pk_B啓用索引,PHP/MySQL的CRUD工作正常,但JOIN或涉及兩個表中的命令行任何其它的查詢需要很長的時間
如果我上pk_B禁用索引,PHP/MySQL的CRUD變得laggish,但JOIN或由涉及兩個表命令行任何其它查詢是瞬時
如何能我提高我的數據庫的性能(我可以修改我PK的從varchar到int(11)),但我不知道是否有可用的
感謝
爲什麼你使用varchar作爲主鍵? –
你如何加入桌子?應始終對PK進行索引,並且還應對外鍵列進行索引以加快連接速度。 – bfavaretto
什麼是使用的引擎。 MyISAM和InnoDB有不同的性能考慮因素。 – SingleNegationElimination