鍍金池/ 問答/ 數據庫問答
愛礙唉 回答

大概猜測了一下,你可能是這個意思。以下是一個ObjectId:

ObjectId("5a6940702c4df0af27ffc4ed")

如果你去數引號里面的東西,長度是24。但這不是實際存儲的長度,而是實際存儲的數據的十六進制表現形式。如果不知道這是什么意思,可能要回憶一下大學的課程了。1個字節(jié)的表示:

  • 二進制:00000000~11111111
  • 十進制:0~255
  • 十六進制:00~ff。

所以12個字節(jié)的十六進制表示是24個字符。但實際上它只有12個字節(jié),存儲也只占12字節(jié)。
關于ObjectId的具體組成可以參考文檔:ObjectId。
至于是不是太長……太長的標準是什么?

雨蝶 回答

你只是想把本地代碼上傳到遠程ftp服務器。
簡單起見,每次修改完畢把本地代碼打tar包,ssh連接到服務器后用rz直接上傳,全量或者部分更新。

你非要用git來同步代碼的話,
可以在github、gitee.com等網站開一個私有的倉庫,代碼都同步到第三方。
或者自己在ftp服務器上搭建一個gitlab服務

浪婳 回答

先問一個問題,如果放在關系數據庫,這個需求你準備怎么做?先UNIONORDER BY?做是能做到,但是是一個無法使用索引的內存排序,效率可想而知。
如果從效率出發(fā)(沒有說明,所以并不知道效率是不是你的第一關注點),這些數據既然是要放在一起排序的,說明它們有一定的內在聯(lián)系,那么為什么不把它們放在一個集合里?MongoDB的無模式設計是支持你這樣做的,并且在合適的場景下也建議這樣做。不過這里也沒提到實際的場景,所以無法進一步分析。

澐染 回答

clipboard.png

我這個是可以的。flask-sqlachemy遷移只能添加字段,不能修改和刪除的??聪履愕膍odels.py中表和數據庫表是否一致。

拽很帥 回答

一樓正解??梢允褂?update 語句配合 replace() 函數

若相惜 回答

三個引號?'''ssss
sssss
ssss
'''
這樣?沒記錯的話

孤酒 回答

建議單獨創(chuàng)建表保存最近聯(lián)系人。
1、從功能設計上看,最近聯(lián)系人是個獨立的功能,不依賴于聊天記錄,這一點你已經說過了。
2、從系統(tǒng)性能方面考慮,每次從聊天日志表從計算最近聯(lián)系人,數據量大的時候會存在性能瓶頸。

殘淚 回答

不是union all的問題吧。
sql語句最后有group by語句, 相同的studyCenterName,grade只保留一條,去掉看是否你想要的結果。

另外,這個sql的寫法,使用group by之后,在select語句中非group by的字段沒用聚合函數,在myslq高版本或其他數據庫會報錯的。

悶油瓶 回答

$sql = "select count(*) as userNum from ajax_test1 where userName='$uName'";

$result = mysqli_query($con, $sql);
$res = mysqli_fetch_array($result);
//print_r($res);
echo $res['userNum'];

笨小蛋 回答
  1. 你的兩個截圖似乎執(zhí)行的并不是一個查詢(至少第二個截圖有sort,第一個Java代碼沒有)。
  2. 因為沒有說明這是什么圖形界面,執(zhí)行計劃也折疊起來看不見,所以無法判斷第二張截圖上的50是代表的意思是否影響到執(zhí)行計劃只取前50條結果。相比之下,Java那句代碼可是會把全部結果都取出來。這會造成很大的時間差異。

最后提點額外的建議與主題無關。能用文本粘貼的代碼、日志、執(zhí)行結果之類的東西,都用文本粘貼出來。圖片不僅看起來不方便,有時候截不全也對我們回答問題很不利。而且有時候我們需要使用你們的代碼、數據等來做測試,如果這時候只有截圖,基本上很多人當場就會放棄了。

心悲涼 回答

代碼2:
你把Function.call當成一個function看待。這個function上調用apply方法,那么第一個參數就是this對象,而Function.call所需要的this對象必須是一個funtion,你傳遞的{},是一個空的對象,那么就要做類型轉換,也就是從{}轉換成一個function,那么肯定是會報類型轉換錯誤,所以safari的報錯是最嚴謹的。

墨染殤 回答

1個用戶表:User(id, name, ...)
1個地區(qū)表:Area(id, pid, name, ...) # 市的pid為null
1個權限表:Auth(uid, aid, ...)

毀了心 回答
http.get({
        hostname: 'songsearch.kugou.com',
        path: `/song_search_v2?callback=jQuery1124022791447453507696_1520336519789&keyword=${encodeURIComponent('彈指 一揮間')}&page=1&pagesize=30&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0&_=1520336519815`,
        headers: {
            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'
        }
    },
    res => {
        res.on('data', data => {
            console.log(data.toString())
        })
    }
)
掛念你 回答

兩個都是準確的,你沒有考慮時區(qū)的問題。MongoDB存儲的是GMT0時間,MySQL給你的是服務器時區(qū)(中國區(qū)),也就是GMT+8。算一下正好差8小時,都沒有錯。

雨萌萌 回答

create_time,user_id加個聯(lián)合索引,求總額sql如下:

select sum(current_money+change_money) all
from (select user_id,max(create_time) crt from A 
where create_time<='2017-11-12 00:00:00' group by user_id) aa
join A bb on aa.user_id=bb.user_id and aa.crt=bb.create_time;

然后就說說你的業(yè)務邏輯問題了,這種總額問題肯定是要單獨的統(tǒng)計表來維護的,
每天的交易額,進賬、出賬,每次統(tǒng)計一天就很簡單了,
總額統(tǒng)計邏輯:前一天的余額總額+今天的額度變化=今天的余額總額
這樣的話只需要最開始全表統(tǒng)計一次即可,后面增量按照時間篩選統(tǒng)計性能不會差的,
最后就是這種交易流水表要分表的吧,按時間或者用戶id分表即可,歷史數據還可以另外存儲

貓館 回答

excel使用這個phpexcel

至于數據就需要分片寫入excel文件,一次寫入1000條或者2000條啊,一次數據太多,會導致內存溢出導致錯誤,每一1000位一個文件,最后在合并文件就可以了,一次寫入50000條,這種做法是不支持的(除非你服務器很好)

懶豬 回答

與其這樣,不如把自增的ID,改成自定義的ID。比如可以用 redis 的inc生成自增ID。

陪我終 回答

會不會在你 select count(*) 之后,insert之前,別的線程插入了該數據呢?
要不你多打印點日志,看看問題出在哪。
另外,你可以試試:設置一下 唯一性約束,然后使用:
insert ... on duplicate key update ...
來操作:無則插入,有則更新