想請問各位大大,假設搜尋得資料有1萬筆或是以上,必須要判斷某欄位中得值,此時在SQL 中下IF ELSE還是在PHP中執行完在判斷,(如某欄位為SEX,1=>女,2=>男,3=>不明);
SQL:
SELECT CASE SEX
WHEN '1' THEN '女'
WHEN '2' THEN '男'
ELSE '不明' END
FROM TEST1
PHP:
$SQL='SELECT SEX FROM TEST1 ';
執行語法省略....
if($SEX=='1'){
echo '女';
}else if(){
echo '男';
}else{
echo '不明';
}
何種效率較好?想請教各位得意見。或是有其他想法得歡迎提供參考謝~謝~
SQL有辦法做到並行處理,才輸出結果
PHP............你還得把資料全部不分條件查詢出來,再一筆一筆檢查.....
兩者間沒法相比
我一向的宗旨是,凡是 sql 能做的,就不要叫 php 去做。
所以,我的stored procedure 又大又肥,但 php 則又小又瘦。
這種轉換的問題,能不用 if-else 就不要用
通常都是用個陣列儲存要轉換的東西,然後直接用鍵取值
$genders = ['1'=>'女','2'=>'男','3'=>'不明'];
$result = 1; // 查詢的結果
echo $genders[$result];
這種方法在增加選項是會非常方便,只要在陣列後面新增一個鍵值對就行了,完全不用動到其他程式
不過這樣會不會比 SQL 快,這個我就不知道了