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

樓主提的這個(gè)問(wèn)題并不是mysql的問(wèn)題。
建議樓主可以認(rèn)真看看TCP/IP或者HTTP相關(guān)的書(shū)籍,補(bǔ)充一些網(wǎng)絡(luò)基礎(chǔ)知識(shí)。
首先,外部能夠連接到內(nèi)部電腦,如果在同一個(gè)WIFI下,A和B處于同一個(gè)子網(wǎng),也就是局域網(wǎng)中,你的mysql服務(wù)器的IP地址和你的外部電腦處于同一個(gè)網(wǎng)段,因此可以直接ping通,可以實(shí)現(xiàn)遠(yuǎn)程連接。
如果兩個(gè)電腦處于不同的網(wǎng)段中,也就是無(wú)法ping通,肯定是連接不上的,你需要中間代理或者直接將mysql傳到具有公網(wǎng)IP的服務(wù)器上部署,全世界任何一個(gè)電腦都可以ping通你的mysql所在的服務(wù)器,那樣就可以遠(yuǎn)程連接OK了。
我之前遇到的問(wèn)題是,未打開(kāi)遠(yuǎn)程訪問(wèn)權(quán)限導(dǎo)致的。
解決辦法:
如果你想任何時(shí)間都能夠訪問(wèn)到mysql數(shù)據(jù)庫(kù),建議你將它部署在阿里云騰訊云這種云服務(wù)器上,主機(jī)商會(huì)提供一個(gè)公網(wǎng)IP供你連接?;蛘吣阋部梢圆渴鸬阶约嘿?gòu)買(mǎi)的VPS上,比如vultr這類(lèi)vps主機(jī)上,它依然會(huì)提供一個(gè)公網(wǎng)IP。

青瓷 回答

The downside to locking the tables is that no session can update a READ-locked table (including the one holding the lock) and no session can access a WRITE-locked table other than the one holding the lock.

醉了。。。你咋老邀請(qǐng)我,,翻文檔看看吧
https://dev.mysql.com/doc/ref...

黑與白 回答

找不到環(huán)境變量FLASK_APP。

我記得Powershell里的set只是定義一個(gè)變量而不是環(huán)境變量。

試一下$env:FLASK_APP = "dispatch.py"

--逆向思維,那我們就先查出這三個(gè)字段都不含8的數(shù)據(jù)
--再查詢(xún)的時(shí)候不包含它們即可

SELECT Id,mobile1,mobile2,mobile3 FROM [Table]

WHERE Id NOT IN
        (
            SELECT Id FROM [Table] 

            WHERE mobile1<>8 AND mobile1<>8 AND mobile1<>8
         )
浪蕩不羈 回答

不建議關(guān)聯(lián)這么多張表,只查詢(xún)最基本的信息,其他如部門(mén),主管,頭銜,做出key=>value的樣子,通過(guò)編程語(yǔ)言的foreach添加進(jìn)去。

另外groupby的時(shí)候,【select from (select from t1 group by ) left join t2. 】先分組縮小join的數(shù)據(jù)。
多寫(xiě)幾種sql,比較下執(zhí)行時(shí)間,從中選擇最高效的一種。

伐木累 回答

簡(jiǎn)單的回答是可以的.

但是:
存在一個(gè)列中,讀是沒(méi)有問(wèn)題的,但修改,針對(duì)性回復(fù),審核等等的操作需要把全部數(shù)據(jù)讀出來(lái)再寫(xiě)回去,遇到并發(fā)時(shí)很難處理,如兩個(gè)人同時(shí)留言,就有可能一個(gè)人的無(wú)法保存,可能多次提交才能完成.
如果想讀操作保持高效和寫(xiě)操作的結(jié)構(gòu)化,一般會(huì)做一下數(shù)據(jù)冗余, 即每個(gè)留言做為單獨(dú)數(shù)據(jù)與數(shù)據(jù)庫(kù)關(guān)聯(lián),但全部留言可以生成靜態(tài)文件或緩存的方式,而不是每次都查詢(xún)每個(gè)文章的全部留言后再合成. 合成一般只發(fā)生在留言數(shù)據(jù)發(fā)生變動(dòng)時(shí).

url中的參數(shù)都是請(qǐng)求體中的參數(shù),可以將一些不想讓用戶(hù)看見(jiàn)的請(qǐng)求參數(shù)和后臺(tái)協(xié)商防如請(qǐng)求頭中傳遞

神曲 回答

具體語(yǔ)句就不寫(xiě)了,說(shuō)一下思路。
mysql高版本,支持窗口函數(shù),像這樣的:

row_number over (partition by transaction_type order by amount desc)

然后根據(jù)函數(shù)的返回值<=3,作為過(guò)濾條件

如果不支持的話,mysql有@變量,大概用法如下,需要sql中先按照transaction_type amount排序,判斷transaction_type 和前一個(gè)是否相等,重置@rownum的值。最后按照下面語(yǔ)句中rank的值進(jìn)行過(guò)濾。
用關(guān)鍵詞“mysql row number”搜索,能找到完整的例子。

SELECT t.*, 
       @rownum := @rownum + 1 AS rank
  FROM YOUR_TABLE t, 
       (SELECT @rownum := 0) r
焚音 回答

內(nèi)存里的數(shù)據(jù) 都是熱數(shù)據(jù)。 你釋放了內(nèi)存,雖然減少了內(nèi)存占用, 但是犧牲了一定的訪問(wèn)性能。
需要做的是性能優(yōu)化。 而不僅僅是釋放內(nèi)存。
優(yōu)化的方式有很多種, 硬件層面,可以加ssd、加機(jī)器(分片)、加內(nèi)存等; 軟件層面可以分析哪些是高頻訪問(wèn)的,哪些是體量大的,哪些是耗時(shí)的操作。 分別對(duì)待。

先分析硬件性能、再分析mongo本身。哪里不平錘哪里。
mongo分析的工具有:mongostat、db.currentOP()sh.status()、db.status()。

空白格 回答

你想打出來(lái)而不改內(nèi)存限制,不要一次全部讀到內(nèi)存打印。一部分一部分讀出來(lái)打印即可。本身讀所有數(shù)據(jù)到內(nèi)存就是不合理的設(shè)計(jì),因?yàn)楝F(xiàn)在你是20w條,內(nèi)存不爆,但是這個(gè)條數(shù)是不可控的,這樣的程序不健壯。

瘋子范 回答
  1. 不能
  2. 選擇離散性高的字段做索引,索引字段盡量少
The higher the cardinality, the greater the chance that MySQL uses the index when doing joins.
雨蝶 回答

你在測(cè)試的時(shí)候加SQL_NO_CACHE試試?這就不會(huì)使用innodb的數(shù)據(jù)緩存了。

貓館 回答

<body>

<a class="qs">簽收1</a>
<a class="qs">簽收2</a>
<a class="qs">簽收3</a>
<a class="qs">簽收4</a>

<script>

$(".qs").on('click', function() {
    $(this).context.innerText = 'xxx'
})

</script>

尐潴豬 回答

不對(duì),根據(jù)mysql文檔,spatial index不能存null,其他的可以:https://dev.mysql.com/doc/ref...

Index Class Index Type Stores NULL VALUES Permits Multiple NULL Values IS NULL Scan Type IS NOT NULL Scan Type
Primary key BTREE No No N/A N/A
Unique BTREE Yes Yes Index Index
Key BTREE Yes Yes Index Index
FULLTEXT N/A Yes Yes Table Table
SPATIAL N/A No No N/A N/A

悶油瓶 回答

lz有什么解決方法嗎。。我也這個(gè)問(wèn)題,卡了好久了

淡墨 回答

不完全一樣但是原理相同,我已經(jīng)回答過(guò)一次了,去那邊看看吧:https://segmentfault.com/q/10...