国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

減少mysql存儲列的方法(以設計網絡店鋪為例)_MySQL

來源:懂視網 責編:小采 時間:2020-11-09 18:14:30
文檔

減少mysql存儲列的方法(以設計網絡店鋪為例)_MySQL

減少mysql存儲列的方法(以設計網絡店鋪為例)_MySQL:bitsCN.com 在設計數據庫時,我們會經常碰到表示是非的字段,網絡漁夫-汪維曾在設計店鋪表時就遇到下列情況:該店鋪有如下屬性:首先是否具有如圖所示的消費者保障服務:其次還有諸如是否屬于中關村商圈等等;在這里如果要表示上述的幾種屬性,按照常規做法我得設
推薦度:
導讀減少mysql存儲列的方法(以設計網絡店鋪為例)_MySQL:bitsCN.com 在設計數據庫時,我們會經常碰到表示是非的字段,網絡漁夫-汪維曾在設計店鋪表時就遇到下列情況:該店鋪有如下屬性:首先是否具有如圖所示的消費者保障服務:其次還有諸如是否屬于中關村商圈等等;在這里如果要表示上述的幾種屬性,按照常規做法我得設
bitsCN.com
在設計數據庫時,我們會經常碰到表示是非的字段,網絡漁夫-汪維曾在設計店鋪表時就遇到下列情況:


該店鋪有如下屬性:首先是否具有如圖所示的消費者保障服務:
其次還有諸如是否屬于中關村商圈等等;在這里如果要表示上述的幾種屬性,按照常規做法我得設計7個字段;如果以后又增加了個如平臺保的服務,我又得增加個字段,所以這樣做的缺點之一是不便于擴展;第二是占用的列太多,列太多會影響查找數據時的速度;

第三就是這些字段由于是表示是非的值,所以做索引純屬浪費。介于以上缺點,我拋棄了上述方法;在這里我只要一個字段就可以表示上述所有的屬性。
做法如下:1.設計一個名為protect_str的字段,類型為binary(12);其值默認為000000000000;這里設計為12位是為了以后擴展需要 這里我用從左到右的六位依次來表示6種消保,如000000000011表示如實描述和快速發貨;為0的位置表示沒有這個屬性,如000000000001表示這家店沒有快速發貨這個屬性;反之則表示有;第7位表示是否屬于中關村商圈子。2.查詢:現在要查詢所有擁有如實描述屬性的店鋪,sql語句如下:SELECT *FROM `shops1`WHERE (protect_str &000000000001) =1 查詢既擁有如實描述又擁有快速發貨屬性的店鋪,sql語句如下:SELECT *FROM `shops1`WHERE (`protect_str` &000000000011) =11 但是當執行SELECT 100101 &100001 時結果卻變成99841(至于為什么是這個結果,網絡漁夫還沒想清楚,如果有知道者請留言給我)所以用這種方式來記錄也行不通。所以換成將二進制用十進制來進行存儲。比如當二進制的第一位為1(即為0000001)時表示如實描述,轉化為十進制則為1當二進制的第一位為1,第二位也為1(即為0000011)時表示如實描述,和快速發貨,轉化為十進制存儲在數據庫中則為3;至于為什么為3(1*2的0次方+1*2的1次方);當二進制的第一位為1,第二位也為1,第三位也為1(即為0000111)時表示如實描述,和快速發貨,七天退換,轉化為十進制存儲在數據庫中則為7;當一個店鋪既有如實描述,和快速發貨,七天退換保障又屬于中關村商圈時,則可用1000111來表示,轉換成十進制存儲在數據庫中則為71
現在要查詢所有擁有如實描述屬性的店鋪,sql語句如下:SELECT *FROM `shops1`WHERE (protect_str &1) =1現在要查詢所有擁有快速發貨屬性的店鋪,sql語句如下: SELECT *FROM `shops1`WHERE (protect_str &2) =2現在要查詢所有屬于中關村在線商圈的店鋪,sql語句如下: SELECT *FROM `shops1`WHERE (`protect_str` &64) =64LIMIT 0 , 30查詢所有既屬于中關村在線商圈又有如實描述服務保障的店鋪,sql語句如下:SELECT *FROM `shops1`WHERE (`protect_str` &65) =65LIMIT 0 , 30
如若以后有擴展則接著往高位上補數字就行了,比如說現在在對id=5的店鋪增加了一個平臺保障服務則這時可對有此項服務的店鋪protect_str 字段的第八位值設為1即10000000轉化為十進制即為128(1*2的7次方)執行如下語句: UPDATE `test`.`shops1` SET `protect_str` = ( `protect_str` |128 ) WHERE `shops1`.`id` =5 即可將此字段值改為135;綜上所述,凡是我們要加上某項服務的地方,我們用”|”或運算;凡是要查詢具有某項服務的地方我們用”&”與運算。掌握了二進制轉十進制,還有查詢和更新,減少mysql存儲列將不再是問題。下面給出試驗用的數據庫,大家可以用上述語句測試一下 CREATE TABLE `shops1` (`id` int(10) unsigned NOT NULL auto_increment,`shop_name` char(50) collate utf8_unicode_ci NOT NULL,`protect_str` int(12) NOT NULL default '0',`shop_id` int(11) unsigned NOT NULL,PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='店鋪表' AUTO_INCREMENT=8 ;---- 導出表中的數據 `shops1`--INSERT INTO `shops1` VALUES (1, 'bestshop', 1, 13);INSERT INTO `shops1` VALUES (3, 'firstshop', 2, 15);INSERT INTO `shops1` VALUES (4, 'nihao', 71, 23);INSERT INTO `shops1` VALUES (5, 'shis', 135, 34);INSERT INTO `shops1` VALUES (6, 'ytshop', 6, 45);INSERT INTO `shops1` VALUES (7, 'uushop', 65, 65); 作者 sss0213 bitsCN.com

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

減少mysql存儲列的方法(以設計網絡店鋪為例)_MySQL

減少mysql存儲列的方法(以設計網絡店鋪為例)_MySQL:bitsCN.com 在設計數據庫時,我們會經常碰到表示是非的字段,網絡漁夫-汪維曾在設計店鋪表時就遇到下列情況:該店鋪有如下屬性:首先是否具有如圖所示的消費者保障服務:其次還有諸如是否屬于中關村商圈等等;在這里如果要表示上述的幾種屬性,按照常規做法我得設
推薦度:
標簽: 方法 店鋪 設計
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 看毛片的网站 | 国产免费一区二区三区香蕉精 | 伊人久久中文字幕久久cm | 一级a毛片免费观看久久精品 | 亚洲色图第1页 | 老色99久久九九精品尤物 | 国产精品v一区二区三区 | 日本韩国欧美一区 | 伊人毛片 | 欧美一区不卡二区不卡三区 | 成人午夜精品久久久久久久小说 | 91精品国产乱码久久久久久 | 亚洲综合日韩在线亚洲欧美专区 | 国产精品久久久 | 国产精品免费_区二区三区观看 | 不卡一区二区三区四区 | 国模冰冰炮交图150 国模吧国模吧一二区 | 久久精品国产亚洲欧美 | 国产成人在线观看免费网站 | 欧美中文一区 | 国产资源视频在线观看 | 日韩网址 | 欧美日韩亚洲国产无线码 | 亚洲一区日韩二区欧美三区 | 国产精品久久新婚兰兰 | 黄网站色视频免费观看 | 精品一区二区三区免费毛片爱 | 一级毛片不收费 | 精品国产成人综合久久小说 | 亚洲欧美另类视频 | 国内精品久久久久影院网站 | 欧美另类一区 | 久久久午夜 | 国产手机在线国内精品 | 日韩精品一区在线观看 | 国产日本在线观看 | 手机在线观看国产精选免费 | 五月婷婷中文字幕 | 国偷自产一区二区免费视频 | 国产精品亚洲欧美一级久久精品 | 久久亚洲伊人成综合人影院 |