mysql 嵌入式 性能_database – 在mySQL中优化嵌入式SELECT查询
好的,這是我現(xiàn)在正在運(yùn)行的一個(gè)查詢,它有45,000條記錄,大小為65MB ……并且即將變得越來越大(所以我也要考慮未來的性能):
SELECT count(payment_id) as signup_count,sum(amount) as signup_amount
FROM payments p
WHERE tm_completed BETWEEN '2009-05-01' AND '2009-05-30'
AND completed > 0
AND tm_completed IS NOT NULL
AND member_id NOT IN (SELECT p2.member_id FROM payments p2 WHERE p2.completed=1 AND p2.tm_completed < '2009-05-01' AND p2.tm_completed IS NOT NULL GROUP BY p2.member_id)
正如你可能想象的那樣 – 它會(huì)讓MysqL服務(wù)器陷入停頓……
它的作用是 – 它只是提取已注冊的新用戶數(shù)量,至少有一個(gè)“已完成”付款,tm_completed不為空(因?yàn)樗鼉H填充已完成的付款),以及(成員具有的嵌入式選擇)從來沒有“完成”付款 – 這意味著他是一個(gè)新成員(只是因?yàn)橄到y(tǒng)確實(shí)重新發(fā)布了等等,這是區(qū)分剛剛被重新招募的現(xiàn)有成員和新成員之間的唯一方法第一次).
現(xiàn)在,是否有任何可能的方法來優(yōu)化此查詢以使用更少的資源或其他東西,并停止將我的MysqL資源放在他們的膝蓋上……?
我是否遺漏了任何信息以進(jìn)一步澄清這一點(diǎn)?讓我知道…
編輯:
以下是該表上已有的索引:
PRIMARY PRIMARY 46757 payment_id
member_id INDEX 23378 member_id
payer_id INDEX 11689 payer_id
coupon_id INDEX 1 coupon_id
tm_added INDEX 46757 tm_added,product_id
tm_completed INDEX 46757 tm_completed,product_id
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的mysql 嵌入式 性能_database – 在mySQL中优化嵌入式SELECT查询的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5万左右做什么生意好 推荐市场急需的几
- 下一篇: 使用百度云智能SDK和树莓派搭建简易的人