鍍金池/ 問答/ 數(shù)據(jù)庫問答
綰青絲 回答

比如說去銀行取錢,那么取錢銀行會在卡上減金額,顯示余額和會再次讀取余額.如果此時你老婆在手機上買了一個口紅,那么此時你顯示的余額是有問題的.

命于你 回答

如何優(yōu)化import模塊的輸入方式

在WebStorm中

Live Templates中添加一個模版,如下圖:

圖1

Abbreviation中鍵入關(guān)鍵字,Description是描述(可選),在Template Text中填入代碼模版。

Template Text 例子,可自行修改

import {$END$} from '$MODULE_VAR$';

應(yīng)用設(shè)置后,在編輯器中鍵入部分關(guān)鍵字,就可以從智能提示中看到剛剛設(shè)定的關(guān)鍵字了,按Tab鍵后,會出現(xiàn)import {} from '';,光標首先會在單引號中,輸入完畢后,會跳轉(zhuǎn)到花括號中。

圖片描述
圖片描述


在VS Code中

  • Windows: 文件 -> 首選項 -> 用戶代碼片段
  • Mac OS: Code -> 首選項 -> 用戶代碼片段

打開代碼片段后,會看到這樣的界面

圖片描述

選擇新建全局代碼片段文件或者指定語言建立,我的習(xí)慣是指定語言,防止污染其他語言的代碼片段

在TypeScript與JavaScript兩種語言中各添加一個自己的代碼片段,如下

{
    "import_module": {
        "prefix": "importfrom",
        "body": [
          "import {${2:moduleName}} from '${1:path}';",
          "" // 去除這行,就不會在插入import from同時在下方插入一個空白行了
        ],
        "description": "insert a import from"
    }
}

圖片描述

保存后,就可以愉快的使用關(guān)鍵字導(dǎo)入模塊啦~

參考資料:https://code.visualstudio.com...


厭惡我 回答

email VARCHAR(40) NOT NULL DEFAULT ''

脾氣硬 回答

Python只在指定的目錄找依賴庫。Pymongo所在目錄應(yīng)該要在Windows環(huán)境變量PYTHONPATH里面,或者通過

sys.path.append("c:/...")

之后再import才能找到。

旖襯 回答

右鍵點擊數(shù)據(jù)庫,選擇執(zhí)行sql文件,然后直接點擊讀取,找到文件即可。
圖片描述

圖片描述

萢萢糖 回答

以下全部詳細解析explain各個屬性含義:

????clipboard.png

????各屬性含義:
????id: 查詢的序列號
????select_type: 查詢的類型,主要是區(qū)別普通查詢和聯(lián)合查詢、子查詢之類的復(fù)雜查詢

  • SIMPLE:查詢中不包含子查詢或者UNION
  • 查詢中若包含任何復(fù)雜的子部分,最外層查詢則被標記為:PRIMARY
  • SELECTWHERE列表中包含了子查詢,該子查詢被標記為:SUBQUERY

????table: 輸出的行所引用的表
????type: 訪問類型
????clipboard.png

????從左至右,性能由差到好

  1. ALL: 掃描全表
  2. index: 掃描全部索引樹
  3. range: 掃描部分索引,索引范圍掃描,對索引的掃描開始于某一點,返回匹配值域的行,常見于between、<、>等的查詢
  4. ref: 使用非唯一索引或非唯一索引前綴進行的查找
    eq_ref和const的區(qū)別:
  5. eq_ref:唯一性索引掃描,對于每個索引鍵,表中只有一條記錄與之匹配。常見于主鍵或唯一索引掃描
  6. const, system: 單表中最多有一個匹配行,查詢起來非常迅速,例如根據(jù)主鍵或唯一索引查詢。system是const類型的特例,當(dāng)查詢的表只有一行的情況下, 使用system。
  7. NULL: 不用訪問表或者索引,直接就能得到結(jié)果,如select 1 from test where 1

????possible_keys: 表示查詢時可能使用的索引。如果是空的,沒有相關(guān)的索引。這時要提高性能,可通過檢驗WHERE子句,看是否引用某些字段,或者檢查字段不是適合索引

????key: 顯示MySQL實際決定使用的索引。如果沒有索引被選擇,是NULL

????key_len: 使用到索引字段的長度

????注:key_len顯示的值為索引字段的最大可能長度,并非實際使用長度,即key_len是根據(jù)表定義計算而得,不是通過表內(nèi)檢索出的。

????ref: 顯示哪個字段或常數(shù)與key一起被使用

????rows: 這個數(shù)表示mysql要遍歷多少數(shù)據(jù)才能找到,表示MySQL根據(jù)表統(tǒng)計信息及索引選用情況,估算的找到所需的記錄所需要讀取的行數(shù),在innodb上可能是不準確的

????Extra: 執(zhí)行情況的說明和描述。包含不適合在其他列中顯示但十分重要的額外信息。

  1. Using index:表示使用索引,如果只有 Using index,說明他沒有查詢到數(shù)據(jù)表,只用索引表就完成了這個查詢,這個叫覆蓋索引。
  2. Using where:表示條件查詢,如果不讀取表的所有數(shù)據(jù),或不是僅僅通過索引就可以獲取所有需要的數(shù)據(jù),則會出現(xiàn) Using where。
伐木累 回答

通過查找文檔找到了答案

MongoCollection<Document> collection =
    mongoClient.getDatabase(YOUR_DATABASE_NAME).getCollection(YOUR_COLLECTION_NAME);
FindIterable<Document> findIterable = collection.find()
                                                .filter(eq("_id", new ObjectId(id)))
                                                .projection(fields(include("comments"), excludeId(), slice("comments", 2)));
Document document = findIterable.first();
if (document != null) {
    Object o = document.get("comments");
    if (o instanceof List) {
        List comments = (List) o;
        assert comments.size() == 2;
    }
}

MongoDB文檔

扯不斷 回答

SELECT emp.name,test.desc FROM emp ,test ORDER BY name

青檸 回答

為啥不用一個表搞定 user_id(用戶id),msg(消息)....(其他字段),is_read(是否已讀)。
全部消息:user_id = XXX
未讀:user_id=XXX and is_read = 0
已讀:user_id=XXX and is_read = 1
一鍵忽略: update is_read = 1 where user_id=XXX and is_read = 0

好難瘦 回答

`$.ajax({

url:"http://localhost:3333/audio",
type:"post",

}).done(res=>{

const blob = new Blob([res],{type:"audio/mp3"});
const blobUrl = URL.createObjectURL(blob);
const audio = new Audio(blobUrl);
audio.play();

});`

以上答案從我對其他的問題拷貝過來的,原理是一樣的。以音頻為例 type換成你的文件類型 比如pdf就是application/pdf
url換成你自己的

主要知識點就是blob和URL.createObjectUR

葬憶 回答

select orderid,phone,max(createtime) from t_order group by orderid

瘋浪 回答

metalink下載失敗,所以后面提示文件不存在,換個可用的鏈接重新下載。

把配置寫在環(huán)境變量里面,根據(jù)環(huán)境變量分辨即可

妖妖 回答

其實百萬級還好吧,不過這是批量操作數(shù)據(jù),一個比較大的優(yōu)化點是開啟事務(wù),不能每插入一條記錄就提交一次。然后又考慮到如果所有數(shù)據(jù)都在同一個事務(wù)里完成,萬一最后幾條數(shù)據(jù)有點啥問題,然后之前的操作就可能回滾,所有建議比如1w條提交一次事務(wù)。這個就看作者自己控制了

氕氘氚 回答

不建議在數(shù)據(jù)庫端運行這樣的邏輯。并且,這跟在NodeJS端定義一個這樣的函數(shù)也沒有什么區(qū)別,為什么一定要放到MongoDB里面?
描述一下具體的使用場景可能有助于我們分析問題。

不討喜 回答

它說 connection 是未定義的,所以你可能沒獲取到連接,你把 pool.getConnection 回調(diào)里的 err 判空然后打出來看一下。