我在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