mysql函式求優化
小弟剛開始接觸mysql資料庫,需要基於mysql資料庫做報表開發,寫的乙個函式查詢時候效率特別低下。
備註:傳進來比較的引數資料量 5w條左右。請高手指教優化方法。
另外,一般mysql除錯的技巧及工具都用什麼
函式如下:
sql code
------解決方案--------------------
索引建立沒有,將
if return_type = 'pro' then
set return_value = temp_prov;
elseif return_type = 'city' then
set return_value = temp_city;
elseif return_type = 'busi' then
set return_value = temp_busi;
elseif return_type = 'ipfromto' then
set return_value = concat(temp_start,' to ',temp_end);
else
set return_value='other';
end if;
end if;
set return_value=if(return_type = 'city',temp_city,...)
修改為if or case when
------解決方案--------------------
應該是這句話慢
select count(1) into iftrue
and type_id = code_type
and start_ip_no <= ip_no
and end_ip_no >= ip_no;
加索引------解決方案--------------------
索引建立沒有
type_id start_ip_no end_ip_no 建立復合索引
------解決方案--------------------
把字段type_id start_ip_no end_ip_no建立復合索引。
------解決方案--------------------
select count(1) into iftrue
and type_id = code_type
and start_ip_no <= ip_no
and end_ip_no >= ip_no;
if iftrue = 0 then
set return_value = 'unkown ip';->
if not exists(select 1
and type_id = code_type
and start_ip_no <= ip_no
and end_ip_no >= ip_no) then
set return_value = 'unkown ip';
試試------解決方案--------------------
貼建表及插入記錄的sql,及要求結果出來看看
看看能否用sql語句直接解決
------解決方案--------------------
支付寶 賞一聽可樂吧~
mysql日期函 MySQL 日期函式
mysql 日期函式 1,mysql dayofweek 和 weekday 獲取星期 在 mysql 中,我們可以用 dayofweek 和 weekday 函式獲取指定日期的星期.區別在於 dayofweek 獲取的星期索引是以 1 開始,而 weekday 獲取的星期索引是以 0 開始.day...
mysql時間函式中文 Mysql的時間函式
1.本週內的第幾天,從週日開始 mysql select dayofweek 2015 05 25 dayofweek 2015 05 25 2 1 row in set 0.00 sec 2.本月內的第幾天 mysql select dayofmonth 2015 05 25 dayofmonth...
mysql開窗函式有哪些 mysql開窗函式
開窗函式 它可以理解為記錄集合,開窗函式也就是在滿足某種條件的記錄集合上執行的特殊函式。對於每條記錄都要在此視窗內執行函式,有的函式隨著記錄不同,視窗大小都是固定的,這種屬於靜態視窗 有的函式則相反,不同的記錄對應著不同的視窗,這種動態變化的視窗叫滑動視窗。開窗函式的本質還是聚合運算,只不過它更具靈...