鍍金池/ 問(wèn)答/ 數(shù)據(jù)庫(kù)問(wèn)答

可以參考這個(gè)文檔看看,http://docs.upyun.com/cloud/s...
有其他問(wèn)題也可以直接咨詢下售后

離殤 回答

如圖

訂單
圖片描述

orderinfo
圖片描述

執(zhí)行SQL為:

select sum(a.price * a.count) as total, a.order_id, b.user_id 
from `orderinfo` as a, `order` as b 
where a.order_id=b.id 
group by a.order_id
order by total DESC 
limit 10;

運(yùn)行結(jié)果:

圖片描述

請(qǐng)參考。

話寡 回答

不能在mongod.exe里面導(dǎo)入數(shù)據(jù),應(yīng)該在終端(cmd)里面導(dǎo)入,啟動(dòng),連接,導(dǎo)入各開(kāi)一個(gè)終端。以及導(dǎo)入的時(shí)候你的json格式要正確。

這樣就可以了(表名和字段名我隨便寫(xiě)的):

select * from user where (group & 32) > 0

前端端都可以做一個(gè)過(guò)濾處理呀,有問(wèn)題的數(shù)據(jù)就直接拋出

你好胸 回答

前端

axios.post('/post',{data:表1數(shù)據(jù),data2:表2數(shù)據(jù)});

后端(KOA為例,需要koa-bodyparser中間件)

const {data,data2} = ctx.request.body;
const [model,model2] = await Promise.all([Model.create(data),Model2.create(data2)]);
念初 回答

token 如果你的app類似銀行涉及到資金安全,那么建議token生成按照ip生成

雨蝶 回答
用騰訊云1M帶寬的服務(wù)器,訪問(wèn)首頁(yè)需要等待5s才能顯示完所有信息

1M的帶寬其實(shí)只有128kb/s,如果需要加載的資源比較多,慢是當(dāng)然的

首先訪問(wèn)一個(gè)Controller然后把所有這些信息全部通過(guò)數(shù)據(jù)庫(kù)查出來(lái)

如果有信心可以試試并行這些查詢,更穩(wěn)妥的方式是ajax,把多個(gè)查詢分解成(部分)并行的多個(gè)請(qǐng)求

凹凸曼 回答

1.根據(jù)業(yè)務(wù)特點(diǎn)選擇合適的引擎
2.小表join大表
3、使用explain分析sql語(yǔ)句,尋找優(yōu)化點(diǎn)
4、創(chuàng)建合適的索引
5、數(shù)據(jù)量大的話,考慮表的橫向拆分、縱向拆分
6、讀寫(xiě)分離
7、主從復(fù)制
8、涉及大量join的語(yǔ)句,可以考慮將其拆分,通過(guò)代碼進(jìn)行處理

浪蕩不羈 回答

UserSerializer里的owner應(yīng)該在SnippetSerializer中吧

冷溫柔 回答

select count(*) from table_name where ~~~
手機(jī)碼字,大概意思是這樣

卟乖 回答
  1. 超時(shí)設(shè)置問(wèn)題;
  2. 最大連接設(shè)置有問(wèn)題;
  3. 授權(quán)問(wèn)題;
  4. mysql服務(wù)機(jī)與用戶權(quán)限問(wèn)題
陌離殤 回答

telnet localhost 3306 這個(gè)命令支行不了。

苦妄 回答

User.findOne()的內(nèi)容能發(fā)一下嗎?User.findOne()是不是返回Promise?你這樣寫(xiě)試試:

user.post('/register', async(ctx) => {
let {username, password, rePassword} = ctx.request.body;

if (!username) {
    responseClient(ctx, 400, 2, '用戶名不可為空');
    return;
}
if (!password) {
    responseClient(ctx, 400, 2, '密碼不可為空');
    return;
}
if (password !== rePassword) {
    responseClient(ctx, 400, 2, '兩次密碼不一致');
    return;
}   

try{
   User.findOne({username}).then(function(doc,err){
        if(err){
             responseClient(ctx);
         }

         if(doc){
             responseClient(ctx, 200, 1, '用戶名已存在');
             return;  
         }else{
             //保存到數(shù)據(jù)庫(kù)
            let user = new User({
                 username: username,
                 password: password,
                 type: 'user'
             });

             user.save(function(err, doc){
                 if(err){
                     console.log(err);
                 }
                 if(doc){
                     let data = {};
                     data.username = doc.username;
                     data.userType = doc.type;
                     data.userId = doc._id;
                     responseClient(ctx, 200, 0, '注冊(cè)成功', data);
                     return;
                 }
             });   
         }
     })

       }

}catch(e){
    responseClient(ctx);
}

})

玩控 回答

select出 17年 至 18年 每張表的數(shù)據(jù)總量,然后內(nèi)存中求出總和不就是 2017年到2018年的數(shù)據(jù)的總量 么?

別傷我 回答

一般php框架都有封裝好一套自己的表單驗(yàn)證方法,比如yii2 laravel都有validate表單驗(yàn)證功能,直接拿來(lái)用就行了。
如果框架沒(méi)有可以自己封裝一些常用的驗(yàn)證方法,或者github找現(xiàn)成的validate輪子:
Validation
valitron

不二心 回答

other 里存放的數(shù)據(jù)應(yīng)該只是單純地用于記錄,絕對(duì)不會(huì)被用于 搜索、 排序、 統(tǒng)計(jì)、 聯(lián)表的字段。

birthday、place這樣的字段我一般還是會(huì)分別使用一個(gè)字段進(jìn)行存儲(chǔ)的,這兩個(gè)字段很容易被用于類似不同年齡段的用戶占比,不同地區(qū)的用戶占比 的統(tǒng)計(jì)功能,存在other中的話會(huì)很不方便。

當(dāng)然,具體怎樣存儲(chǔ)還是需要根據(jù)實(shí)際需求來(lái)定。

假灑脫 回答

1、用exists 代替 in
2、personId 創(chuàng)建索引 提升查詢效率

哚蕾咪 回答

mysql5.7 后支持json存儲(chǔ)類型 你這種情況比較適合json
如果使用分隔符形式 無(wú)法進(jìn)行搜索 只能通過(guò)取出所有數(shù)據(jù)后 程序進(jìn)行查找運(yùn)算