鍍金池/ 問答/ 數(shù)據(jù)庫問答
喵小咪 回答

這個和mysql沒有關(guān)系吧,就是python代碼在運(yùn)行的時候記錄插入位置就行了呀

久舊酒 回答

實(shí)際上通常是你所說的做法,圖片一般是上傳到你們自己的CDN上面,因?yàn)閳D片加載畢竟比文本更加耗時,為了提升用戶體驗(yàn),分區(qū)域存儲相當(dāng)有必要。當(dāng)然這里面我認(rèn)為 還需要考慮兩點(diǎn)內(nèi)容。

  1. 弱網(wǎng)絡(luò),圖片上傳失敗怎么處理?
    了解下job,intentservice,斷點(diǎn)續(xù)傳。
  2. 多圖上傳如何保證順序的問題?
    了解一下rxjava的contactMap操作。
歆久 回答

oracle 不熟悉,與其寫個復(fù)雜的查詢,不如剝離部分統(tǒng)計(jì)用python實(shí)現(xiàn)。
數(shù)據(jù)庫按員工+月份分組后直接查出員工信息、管戶數(shù)及當(dāng)月管戶總余額。
然后寫個python方法專門統(tǒng)計(jì)本月余額、上月余額及差額。

心癌 回答

win上除了run 沒有簡易的。
因?yàn)槲乙苍趯ふ摇?br>網(wǎng)上他們部署的賊麻煩。

--這個?
Select CONVERT(varchar(100), GETDATE(), 0)--05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1)--05/16/06
Select CONVERT(varchar(100), GETDATE(), 2)--06.05.16
Select CONVERT(varchar(100), GETDATE(), 3)--16/05/06
Select CONVERT(varchar(100), GETDATE(), 4)--16.05.06
Select CONVERT(varchar(100), GETDATE(), 5)--16-05-06
Select CONVERT(varchar(100), GETDATE(), 6)--16 05 06
Select CONVERT(varchar(100), GETDATE(), 7)--05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8)--10:57:46
Select CONVERT(varchar(100), GETDATE(), 9)--05 16 200610:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10)--05-16-06
Select CONVERT(varchar(100), GETDATE(), 11)--06/05/16
Select CONVERT(varchar(100), GETDATE(), 12)--060516
Select CONVERT(varchar(100), GETDATE(), 13)--16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14)--10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20)--2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21)--2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22)--05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23)--2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24)--10:57:47
Select CONVERT(varchar(100), GETDATE(), 25)--2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100)--05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101)--05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102)--2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103)--16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104)--16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105)--16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106)--16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107)--05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108)--10:57:49
Select CONVERT(varchar(100), GETDATE(), 109)--05 16 200610:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110)--05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111)--2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112)--20060516
Select CONVERT(varchar(100), GETDATE(), 113)--16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114)--10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120)--2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121)--2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126)--2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130)--18 ???? ?????? 142710:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131)--18/04/142710:57:49:920AM
菊外人 回答

1.添加索引到經(jīng)常用于查詢的字段,不包括主鍵
2.不管業(yè)務(wù)大不大都應(yīng)該適當(dāng)添加,過多的添加會站內(nèi)存
3.選擇索引的字段,最好離散型小,字段短,具有標(biāo)識性

故人嘆 回答

從程序上來解決,分3種情況判斷。

近義詞 回答

php不是常駐內(nèi)存的語言,和前端的交互也不是長連接,雖然也可以做到,但不建議這樣做,除非特定的使用場景,你說的這種情況,是想要后臺主動推送給前端,勢必就要維持這種長連接,我建議你當(dāng)前端提交推送請求,后臺加入隊(duì)列處理后,前端就開始定時的請求后臺接口來判斷推送狀態(tài)。

葬愛 回答

分2表存儲,一個前臺用戶表,一個后臺用戶表

毀憶 回答

這是不可以的,你查詢出來就是有用的結(jié)果,先看注釋的只能區(qū)表結(jié)構(gòu)看的

涼薄 回答

直接排序是不行的,要么你就倒序排列,要么就區(qū)分一下中英文開頭,分開排序再union all,注意union all子句末尾加一個limit 99999,否則可能再某些版本中被重寫sql,排序失效。
給一個判斷首位字符中英文的方法:length(left(column_name,1))=1就是英文,大于1就是中文

乞許 回答

如果能確定只有一個數(shù)組元素滿足需求,最簡單的寫法:

rs0:PRIMARY> db.users.find({ "users.id" : 1 }, {"users.$.id": 1})
{ "_id" : ObjectId("5a7d12871541ff3ed0bb9c79"), "users" : [ { "id" : 1, "name" : "user1" } ] }

如果不能確定,則$只會返回第一個滿足條件的元素。想要所有的元素,需要aggregation:

db.users.aggregate([
    {$match: {"users.id": 1}},
    {
        $project: {
            users: {
                $filter: {
                    input: "$users",
                    as: "user",
                    cond: {
                        $eq: ["$$user.id", 1]
                    }
                }
            }
        }
    }
]);

使用聚合查詢

db.projects.aggregate([{
    $lookup:{
        from:'users',
        localField: 'userId',
        foreignField: '_id',
        as: 'userinfo'
        }
},{
    $match:{
        'userinfo.sex': '0'
}},{"$unwind": "$remark"}])
寫榮 回答

把字段順序改成一致唄,一般不影響你的程序,然后,碰上你這種情況就方便太多了
insert into table1 select * from table2 就好了

老梗 回答

大概意思,我是看懂了,就是說,是異步操作,并不能保證是完成的順序性。
我可以提供一個思路。是不是可以設(shè)置一個全局變量flag,在某個操作完成后,修改flag的值,根據(jù)值來判斷是否可以有id這條記錄。

墻頭草 回答

你的理解可能有誤。info.$是對匹配的數(shù)組元素的更新,跟內(nèi)嵌文檔沒有什么關(guān)系。
不知道你上面的data具體內(nèi)容到底是什么。從結(jié)果來看應(yīng)該是:

data = {
    "sys" : {
        "group" : 0,
        "status" : 2
    },
    "info" : {
        "name" : "桂小方",
        'mail': 'abc@abc.com', // 這里發(fā)生更新
        'phone': '+1234567' // 這里發(fā)生更新
    }
}

才有可能得到你的結(jié)果。如果data確實(shí)是這個值,那這個結(jié)果是沒有問題的。想得到你要的結(jié)果,正確的更新語句應(yīng)該是:

db.users.update({
    "_id": uid
}, {
    'sys.status': data.sys.status,
    'info': data.info
});