当我OPTIMIZE
,REPAIR
或ANALYZE
一个MySQL表时,这将阻止所有其他操作一直运行,直到该过程完成(INSERT
, SELECT
等)?我应经常ANALYZE
一张桌子吗?
如果多个用户在我的网站中的不同位置同时执行INSERT
,UPDATE
,SELECT
等操作,则所有操作都将在高负荷?或者我应该设置某些代码以确保它们正确执行?
需要进一步澄清吗?我很乐意给予更多。
感谢您的帮助。
答案 0 :(得分:3)
所有3个操作都将创建一个读锁定。 OPTIMIZE和REPAIR将创建写锁定。因此,如果正在运行ANALYZE,则无法进行任何更远的读取操作,并且在运行OPTIMIZE和REPAIR时无法进行读/写操作。
无法确保一个用户的查询序列不会与另一个用户的查询序列重叠。您应该使用Transaction。
答案 1 :(得分:1)