鍍金池/ 問答/ 數(shù)據(jù)庫(kù)問答
遺莣 回答

跟證書相關(guān)的問題。

  1. 先看看你們的服務(wù)端是否配置了證書;
  2. 看看是不是強(qiáng)制要求客戶端證書;
  3. 其次要看證書是不是自簽名的或是合法的第三方頒發(fā)的;

如果不清楚怎么看,最好問問你們配置MongoDB的人會(huì)比較清楚。

  1. 使用存儲(chǔ)過程生成不一樣的時(shí)間。比如
CREATE OR REPLACE FUNCTION get_random_date(start_date date, end_date date) RETURNS integer AS  
$BODY$  
DECLARE  
    interval_days integer;  
    random_days integer;  
    random_date date;  
BEGIN  
    interval_days := end_date - start_date;  
    random_days := get_random_number(0, interval_days);  
    random_date := start_date + random_days;  
    RETURN date_part('year', random_date) * 10000 + date_part('month', random_date) * 100 + date_part('day', random_date);  
END;
  1. 把不希望重復(fù)的字段設(shè)成唯一索引。然后使用insert into ... on duplicate key update ...
INSERT INTO table(column1, column2) VALUES(value1,value2) ON DUPLICATE KEY UPDATE column2 = VALUES(column2);
浪婳 回答

@Perla
clipboard.png 如這圖
搜鯊魚 顯示訂單號(hào)在加下面的商品

我以為 回答

sql應(yīng)該是沒啥問題,尤其是gem1不會(huì)報(bào)錯(cuò)的情況下。檢查一下gem2前后是不是有空格或者換行符。

青瓷 回答

mysql主從的作用:
1、數(shù)據(jù)熱備:作為后備數(shù)據(jù)庫(kù),主數(shù)據(jù)庫(kù)服務(wù)器故障后,可切換到從數(shù)據(jù)庫(kù)繼續(xù)工作,避免數(shù)據(jù)丟失。
2、架構(gòu)的擴(kuò)展:業(yè)務(wù)量越來越大,I/O訪問頻率過高,單機(jī)無法滿足,此時(shí)做多庫(kù)的存儲(chǔ),降低磁盤I/O訪問的頻率,提高單個(gè)機(jī)器的I/O性能。
3、讀寫分離使數(shù)據(jù)庫(kù)能支撐更大的并發(fā)。在報(bào)表中尤其重要。由于部分報(bào)表sql語句非常的慢,導(dǎo)致鎖表,影響前臺(tái)服務(wù)。如果前臺(tái)使用master,報(bào)表使用slave,那么報(bào)表sql將不會(huì)造成前臺(tái)鎖,保證了前臺(tái)速度。
或者 如果網(wǎng)站訪問量和并發(fā)量太大了,少量的數(shù)據(jù)庫(kù)服務(wù)器是處理不過來的,會(huì)造成網(wǎng)站訪問慢。數(shù)據(jù)寫入會(huì)造成數(shù)據(jù)表或記錄被鎖住,鎖住的意思就是其他訪問線程暫時(shí)不能讀寫要等寫入完成才能繼續(xù),這樣會(huì)影響其他用戶讀取速度。采用主從復(fù)制可以讓一些服務(wù)器專門讀,一些專門寫可以解決這個(gè)問題。

而集群則是直接增加可承載讀寫量的辦法,效果比主從好。

傻丟丟 回答

不管唯一不唯一,都加索引,反正mysql有各種鍵各種索引,直接加個(gè)普通的索引就好了,另外,就算沒有索引,這么點(diǎn)數(shù)據(jù)應(yīng)該也不至于這么慢吧。

久礙你 回答

使用字段數(shù)組長(zhǎng)度條件滿足了需求

db.data.find( { test: { $size: 1 } } )

一般地,mongodb會(huì)自動(dòng)插入一個(gè)唯一的_id字段作為pk

如果真的要自增,可以參考 https://docs.mongodb.com/v3.0...

簡(jiǎn)單來講,就是:

  1. 建立一個(gè)自增計(jì)數(shù)器
  2. 創(chuàng)建一個(gè)函數(shù),使用findAndModify更新計(jì)數(shù)器(在update時(shí)用$inc進(jìn)行自增)
  3. 插入記錄時(shí),使用該函數(shù)獲得自增的ID

至于你說的定時(shí)任務(wù),抱歉我沒看懂

已經(jīng)關(guān)了啊,關(guān)完shell當(dāng)然連不上了提示reconnect failed.

逗婦乳 回答

例如?
如果你是用在兩個(gè)條件下的話可以. 使用 and 或 or 組合起來.
如果你是 where col like in 這樣的話. 或者 where col in (like ...) 這樣的話,明顯不行.

掛念你 回答

@media媒體查詢,F(xiàn)ilter在css3中是一種特效,position元素定位,后邊同上

魚梓 回答

不太了解你的具體場(chǎng)景, 另外假設(shè)你是 B/S

我之前的做法是, 直接生成一個(gè)js
服務(wù)端只驗(yàn)證數(shù)據(jù)就可以了

我能想到的方案

保存相鄰兩級(jí)的 id的 單向 集合關(guān)系

比如

湖北省.id : [武漢市.id, 襄樊市.id, ...]
.....
武漢市.id : [洪山區(qū).id, 東湖高新區(qū).id, ...]

//省市區(qū)三個(gè)級(jí)別的話

//一共就是 34(省級(jí)行政區(qū)) + 294(地級(jí)市) 條記錄

然后驗(yàn)證一個(gè)省市區(qū)串是否正確 只需要redis兩次請(qǐng)求

ps: 前提條件是你傳遞上來的是 省-市-區(qū) 而不是 僅僅一個(gè) 區(qū)

網(wǎng)妓 回答

電商系統(tǒng)經(jīng)常遇到的屬性變動(dòng)問題

數(shù)據(jù)庫(kù)設(shè)計(jì)的時(shí)候由于未來需求經(jīng)常改變。
所以設(shè)計(jì)的時(shí)候需要把原本是列的變成行數(shù)據(jù),到時(shí)候要改列的時(shí)候通過插入行數(shù)據(jù)來實(shí)現(xiàn)。
舉個(gè)例子。

我有個(gè)手機(jī)。
名稱價(jià)格,翻蓋還是滑蓋,智能機(jī)還是非智能機(jī)等屬性。

如果按照列的設(shè)計(jì)。

那么,每個(gè)手機(jī)的值如下

ID 名稱,價(jià)格,翻蓋/滑蓋/直板,是否智能機(jī)
1,諾基亞,1000,翻蓋,否
2. 蘋果,4000,直板,是
3. 安卓,2000,直板,是

如果要增加操作系統(tǒng)字段,需要更改表結(jié)構(gòu)添加字段。

采用行設(shè)計(jì)

屬性表

ID,屬性名
1. 操作系統(tǒng)
2. 直板/滑蓋/翻蓋
。。。

商品表

ID,名稱,價(jià)格
1 諾基亞,1000
2 蘋果 4000
3 安卓 2000

商品屬性
商品ID ,屬性ID,屬性值
1 1 塞班
1 2 直板
2 1 ios
2 2 直板

這樣,如果要加屬性。添加屬性表的數(shù)據(jù)和商品屬性表數(shù)據(jù)即可,不需要改結(jié)構(gòu)

不同客戶之間功能不同問題

首先,程序只有一套,數(shù)據(jù)庫(kù)只有一個(gè)。

  1. 所以,客戶需要實(shí)現(xiàn)的功能,我們程序必須實(shí)現(xiàn),每個(gè)功能加到一個(gè)功能表,參照屬性表設(shè)置
  2. 然后需要開通該功能的客戶,添加一個(gè)表,參考商品屬性表,

功能

ID,功能名稱
1 廣告功能
2 可以自定義微信公眾號(hào)
...

客戶功能
客戶ID,功能名稱
1 1
1 2

做好緩存,那么我讀取到客戶1的時(shí)候會(huì)發(fā)現(xiàn)客戶1有廣告功能和微信功能,那么程序根據(jù)這個(gè)該顯示頁面的添加頁面顯示,后臺(tái)可以操作的,后臺(tái)也顯示出來

刮刮樂 回答

RewriteRule ^admin/index$ admin/index.php

這樣就對(duì)了

陌如玉 回答

undo是針對(duì)事務(wù)的,事務(wù)結(jié)束就沒有了,read view可以理解為事務(wù)開啟時(shí)記錄的快照,事務(wù)沒提交進(jìn)行回退時(shí),按照undo回滾數(shù)據(jù),就是回滾為生成read view時(shí)的數(shù)據(jù)。

不將就 回答
pymysql.connect(host='localhost',user='user',password='passwd',db='db',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)

password參數(shù)名錯(cuò)誤,請(qǐng)按照文檔來寫http://pymysql.readthedocs.io...

傻叼 回答

/var/log/mysqld.log: Read-only file system,不是磁盤滿了就是磁盤掛了

真難過 回答

圖片描述

使用set去改變數(shù)組