㈠ 如何優化慢查詢的sql語句
優化方法一般從幾個方面這幾個考慮:
1、根據業務情況,精簡代碼邏輯,
2、根據讀寫方式,降低數據表讀寫量
3、關鍵條件列增加合適的索引
4、對於碎片多的索引進行重建
多數情況下只需要考慮前兩條就能解決很大的效率問題,業務模式可能在最初開發的時候,因需求分析不徹底,或者需求理解不深入,導致邏輯不合理,或者後續多次變動業務模式,新增功能與最初的開發理念發生變化,這時就應該對代碼的邏輯進行重新優化改寫。
㈡ SQL語句執行太慢,怎麼優化
Try this:
select storage.prodcode, sum(case when billsale.prod_number is null then 0 else billsale.prod_number end) as '已銷售數量'
from storage left join billsale on billsale.prodcode=storage.prodcode
group by storage.prodcode
㈢ sql語句 ,執行太慢 ,求優化
select
*
from
table_a as a
inner join
table_b as b
on
a.name=b.name
where
table_a.name like "liu%"
or table_a.name like "wang%"
--試試吧,數據量大的話 like語句 本身就不快
㈣ 千萬級數據量 我的sql 效率很慢:請問以下sql 如何優化
select distinct s.id
from student s,student tj
where (tj.biao ='0' or tj.biao= '1') and tj.yuwen<> 0 and s.id is not null
and s.score >= '500' /*總分大於500*/
and s.id = tj.id
and s.updatedate =
to_char(to_date('2012-12-04', 'yyyy-mm-dd'), 'yyyymmdd')
//group by tj.id
㈤ 查詢特別慢 如何優化SQL
思路:
首先,要確定使用的是什麼數據,
若是MSSQL,那麼需要看一下查詢計劃,然後逐一解決慢的問題;
若是Access,那麼就要看錶的索引創建是否合適,另外Access還有一個弊病,就是資料庫大於10MB後,速度和性能將極大的下降
㈥ 現在有條sql,由於數據量過大,程序中執行過慢需要優化,有沒有sql大神幫忙啊 下面是sql腳本。
1.(SELECT COUNT(*) FROM t_activate_expand e WHERE e.activate_code = a. CODE) total
這個是想得到t_activate_expand表的總記錄數,
2.(SELECT COUNT(*)FROM t_activate_expand e LEFT JOIN t_ticket_recode r ON e.code_data = r.code_data WHERE e.activate_code = a. CODE AND r.state = 3 ) couponNum 這個用的左連接,couponNum和total的值是相等的吧,你是不是邏輯寫錯了?
3.select a.* FROM t_activate_code a where a.shop_id = 'c574d803-0ea0-4849-b4d8-030ea01849b7' AND a.type = 1 這個句是條件查詢t_activate_code表
你要在一句裡面查詢的話時間過長,你可以分3次查詢,他們單個查詢應該很快,不過我怎麼看你這語句寫得這么別扭
㈦ 如何優化MySQL中查詢慢的SQL語句啊
MySQL查詢優化的5個好用方法
http://soft.chinabyte.com/database/254/11335754.shtml
原則上來說
在
FIND_IN_SET
typeid IN (35)
arcrank
加復合索引
在sortrank加索引
㈧ 如何優化SQL命令
你可以使用變數呀,使用宏替換,只要在程序中對變數賦值就行了呀
㈨ SQL命令的優化
select * from emp where ename='SMITH'
這句相當於是直接找到ename='SMITH'的條數據。
select * from emp where ename like '%H'
這個相當於拿每一條去比較
哪個快,顯而易見
㈩ 復雜慢sql語句如何優化
很簡單啊,優先索引,第二結構,第三演算法。
索引最簡單,如果是SQL server客戶端或者toad可以提示有哪些需要進行優化的地方。
結構就是針對要查詢的值,盡量集中到一個表,減少串表,函數查詢,左鏈的表欄位查詢。
演算法就是OR還是IN?串表時IN還是EXISTS ?oracle in 的限制。條件執行順序等。
然後還有其他注意的,例如只查固定欄位就不要 select * 只要注意以上步驟,千萬級數據串10個秒也能1秒內顯示出來。
有條件的話,當然是用歸檔數據進行查詢,這樣就不會佔用業務數據IO了,最後一步就是「雲計算」(解析有一百種,沒有統一概念,我的意識其實就是歸檔過程中根據分組維度計算好,並根據日期放進相關的表,減少表粒度,只進行簡單的select查詢)