鍍金池/ 問答/ 數(shù)據(jù)庫問答
伴謊 回答

索引有個(gè)最左匹配原則
聯(lián)合索引遇到范圍查詢停止,=或in條件是可以隨意調(diào)換順序的
比如條件是where a = 1 & b = 1 & c = 1 & d > 12
就建個(gè)(a, b, c, d)的聯(lián)合索引,其中where條件a b c 是可以任意調(diào)整順序的,但是 d就不能放到前面來了。

美團(tuán)點(diǎn)評(píng)技術(shù)博客這邊文章挺好的,推薦你看看:MySQL索引原理及慢查詢優(yōu)化

神曲 回答

clipboard.png

不重復(fù)的選擇的話可以用distinct

select distinct(民族) from `學(xué)生`;
不將就 回答
SELECT Child.user_id, Child.Lft, Child.Rgt,Child.Level
            FROM kt_relation as Child, kt_relation as Parent
                WHERE
                  Child.Level = 3+1
                  -- AND Child.Lft+Child.Rgt <= Parent.Lft +Parent.Rgt   -- 左區(qū)
                                    
                                    AND Child.Lft+Child.Rgt > Parent.Lft +Parent.Rgt    -- 右區(qū)
                  
                                    AND Parent.user_id = 10001
                                    
                                    AND Child.Lft+Child.Rgt <= 12 +25

搞出來了一個(gè)sql語句,可以實(shí)現(xiàn)。前提是確認(rèn)這個(gè)節(jié)點(diǎn)是最頂層節(jié)點(diǎn)10001的哪個(gè)區(qū)域,然后查10001的右區(qū),再加個(gè)條件,查詢10003的左區(qū),12+25就能代表10003了。
這種自連接,搞的我有點(diǎn)暈乎!速度還可以,可能是有索引的原因。
php里面就是,先取得待查的節(jié)點(diǎn)10003的記錄,取出他的,左右值。
然后計(jì)算出,應(yīng)該查以根節(jié)點(diǎn)開始的哪層。比如這個(gè)10003,要查他開始的第3層,那實(shí)際查的應(yīng)該是,10001的第4層。因?yàn)?0003與10001差1層。所以是,3+1層。什么亂七八糟的。

搞出來個(gè)簡單的,先查出這個(gè)節(jié)點(diǎn)的所有子孫節(jié)點(diǎn),加條件,和值小于自身,再限定定層。就出來了。
SELECT * FROM Tree WHERE Lft > 1 AND Lft < 26 AND Lft + Rgt <= 1 + 26 AND Level = 4

為什么,我把問題寫出來,然后不久,自己就解決了問題,好怪。不寫就整不出來。其實(shí)我就是個(gè)菜b

終相守 回答

思路就是先按你的查詢條件和排序,算出排在你這條記錄之前的記錄數(shù),根椐你每頁記錄數(shù)來算出第幾頁。

要算出排在這記錄之前,如果是主鍵或唯一鍵排序,直接id > xx或 id<xxx就好了。如果不是,那就不好辦

妖妖 回答

為啥要用span去包img?
要實(shí)現(xiàn)垂直居中又很多方法,個(gè)人推薦用flex布局,類似這樣:

//html
<div>
  <img/>
  <img/>
</div>
//css
 div{
  display:flex;
  align-item:center
}
div>img{
//自定義高度與寬度
}

如果要學(xué)flex布局,推薦阮一峰的。

朽鹿 回答

Model.findById

與 findOne 相同,但它接收文檔的 _id 作為參數(shù),返回單個(gè)文檔。_id 可以是字符串或 ObjectId 對象。

Model.findById(obj._id, function (err, doc){
  // doc 是單個(gè)文檔
});
局外人 回答

被上傳php文件 說明有上傳漏洞吧,很可能是0截?cái)嗌蟼鞯腜HP文件,最好先把上傳目錄執(zhí)行權(quán)限去掉,再處理上傳漏洞

傻叼 回答

一開始就要做db級(jí)分區(qū),現(xiàn)在刪除痛苦了吧

不知道是否可以考慮使用websocket wss協(xié)議進(jìn)行長連接監(jiān)聽提交數(shù)據(jù)

念初 回答

ip+端口訪問,若還是無法訪問的話,應(yīng)該是端口默認(rèn)被禁用了,去iptable里面開啟一下

挽青絲 回答
  • 也許這個(gè)項(xiàng)目有所謂的歷史遺留問題, 先有schema2.order。 再有schema1 。
  • 也是是技術(shù)老大想試試mongoArrey子集合分頁查詢好不好用。
  • 空間換時(shí)間。 數(shù)據(jù)庫輕輕松松破TB。

以上純屬妄言。。

另 : _id直接用做訂單id也可以啊, 本身mongo_id生成算法是分布式的一種id生成算法。時(shí)間戳+機(jī)器碼+進(jìn)程Id+隨機(jī)數(shù)

冷眸 回答

數(shù)據(jù)庫導(dǎo)出 mysqldump -uroot-proot play > D:/play.sql, 試一試
要不就是數(shù)據(jù)庫版本低.更新下數(shù)據(jù)庫.

糖果果 回答

我的做法是生成一個(gè)字典來保存數(shù)據(jù)庫的對象,最后return json.dumps(這個(gè)字典)

因?yàn)榉诸惖母叨仍?,所以才造成跟隨滾動(dòng),謝謝,已經(jīng)解決了

萌吟 回答

mysql 的 if 了解下。

挽歌 回答

可以,直接在_id前面加一個(gè)(string) 類型強(qiáng)轉(zhuǎn)
ex:$info['objectID'] = (string)$info['_id'];

司令 回答

試試媒體查詢,或者flex布局,或者bootstrap的網(wǎng)格系統(tǒng),等等。。。。

若相惜 回答

php .\artisan migrate --pretend
輸出sql瞧瞧, 看報(bào)錯(cuò)是索引長度 問題吧.

傲嬌范 回答

SQL 操作用字符串拼接不是一個(gè)好的習(xí)慣, 試試用參數(shù)化查詢:

find_binary=pymysql.Binary(img_data)
add_row = """INSERT INTO IMGS(ID,IMG,編號(hào),DATAIMG) VALUES($s, %s, %s, %s)"""
cursor.execute(add_row, (7, 'K1', 'NO.', find_binary))