久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

mysql - sql判斷某一條數據的一個字段值,是在sql中限制條件然后判斷數量、還是直接檢索這個字段,哪個效率最高?

瀏覽:111日期:2022-06-20 09:21:12

問題描述

要判斷某一條數據的某一個字段的值,是在sql中限制條件然后判斷數量、還是直接檢索這個字段,哪個效率最高?舉例:A表中,要判斷id=1的數據flag是1還是0,flag的值只能是1或0。以下兩個sql哪個銷量高?1.在sql中限制條件然后判斷數量

select count(*) from A where id = 1 and flag = 1;

2.直接檢索這個字段

select flag from A where id = 1;

這個表的數據量和字段數量、數據庫類型對結果有影響嗎?

問題解答

回答1:

盡量減少SELECT COUNT(*) FROM tablename WHERE COL = ’value’ 這種查詢;非要用count的話,盡量count(index),對索引進行count。

Tips:如果你的表中有類似標志位(比如是否邏輯刪除)的字段,那么在其上建立一個索引,會把count(*)的速度提高數倍。

回答2:

2 的高

回答3:

id是主鍵的話,這兩個寫法的效率基本是一樣的,具體要看sql語句的執行計劃。flag字段只有兩個值,建索引意義不大。從sql語句和業務邏輯的對應關系上,寫法2更好一點。

主站蜘蛛池模板: 凤山市| 铜山县| 浪卡子县| 措勤县| 盐城市| 五华县| 南木林县| 太康县| 鹤山市| 肇州县| 阿拉尔市| 丁青县| 贵港市| 延吉市| 屏东市| 木兰县| 榆林市| 珲春市| 桓台县| 军事| 沁水县| 大安市| 双江| 通州市| 信阳市| 邳州市| 金门县| 沙洋县| 滕州市| 罗江县| 潼关县| 南江县| 株洲市| 镇远县| 秭归县| 金华市| 海城市| 陇南市| 武汉市| 武清区| 秭归县|