MYSQL删除优化

我有以下删除SQL语句:

从table1中删除w,r w,table2 r其中(w.status = 1或r.status = 1)

显示引擎innodb状态显示如下。 读取率(237.29读/秒)是指读取后的读取(where)条件? 或者它指的是filter之前的连接的所有元素? 这一点很重要,因为我正在测量完成查询所需的时间。 两个表都非常大,但是过滤结果相对较小。

行业
 --------------
 1在InnoDB内查询,0在队列中查询
 1读取InnoDB内部打开的视图
主线程进程号  5163,id 1090357568,状态:正在等待服务器活动
插入的行数25005429,更新了1722842,删除了371088,读取了2176564571
 0.00插入/秒,0.00更新/秒,0.00删除/秒,237.29读/秒

我错了,或者你没有在w和r上指定任何连接条件? 这意味着你正在做两个表的大笛卡尔连接,这肯定比2删除查询长,每个表上一个。

你们有没有什么东西可以让你们彼此相连,比如:

delete w,r from table1 w ,table2 r where (w.r_id=r.r_id) and (w.status=1 or r.status=1) 

或者至less你可以join他们的状态领域。 显然,索引状态字段是必须的。