在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ 數(shù)據(jù)庫問答
傻叼 回答

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

  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);
萌吟 回答

mysql查詢優(yōu)化器認(rèn)為全表掃描時(shí)如果速度大于使用索引,就會(huì)不用索引,你可以使用FORCE INDEX強(qiáng)制mysql使用索引

笨尐豬 回答
select A.aid, A.title from A
inner join AC on
AC.aid = A.aid
inner join AT on
AT.aid = A.aid
where AC.cid = '2'
and AT.cid = '10'
久礙你 回答

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

db.data.find( { test: { $size: 1 } } )
刮刮樂 回答

RewriteRule ^admin/index$ admin/index.php

這樣就對了

凹凸曼 回答

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

遺莣 回答

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

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

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

艷骨 回答

先不說用什么數(shù)據(jù)庫,書籍這種資源類的東西,我會(huì)以文件的形式,保存到硬盤的,而不是直接保存在數(shù)據(jù)庫里,保存在數(shù)據(jù)庫,只是一個(gè)文件物理地址。

法克魷 回答

MySQL 里面有auto_increment 自增字段,PostgreSQL 沒有自增字段這一說法,但是有單獨(dú)的對象:序列。 可以用序列或者其他方法來是實(shí)現(xiàn)這樣的語法?;蛘咴O(shè)置某一列的默認(rèn)值為sequence的值即可

在字段默認(rèn)值里設(shè) nextval('products_product_no_seq')即可。
創(chuàng)建sequence參見https://www.postgresql.org/do...

CREATE SEQUENCE products_product_no_seq START 101;
CREATE TABLE products (
    product_no integer DEFAULT nextval('products_product_no_seq'),
    ...
);
柚稚 回答

你就簡單理解為export是導(dǎo)出一個(gè)變量,而不是導(dǎo)出它的值。外面的程序使用這個(gè)變量訪問到它導(dǎo)出的值。

var m = 1;
export m;

之所以這句是錯(cuò)的,是因?yàn)樗鼘?dǎo)出的是m的值,而不是m。

夢囈 回答

已經(jīng)解決了,加一個(gè)條件即可
update A set a = (select b from B where B.id = A.id) where A.id in (select B.id from B)

網(wǎng)妓 回答

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

數(shù)據(jù)庫設(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ù)庫只有一個(gè)。

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

功能

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

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

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

夏木 回答
The recommended namespace for passing information through middleware and to your frontend views.

body和原來一樣沒變過,只說說state
為什么會(huì)有state,因?yàn)槲覀儠?huì)有到很多中間件用于存儲(chǔ)某些昨天,比如登陸或者權(quán)限驗(yàn)證,在此之前,我們會(huì)報(bào)錯(cuò)到ctx的一個(gè)自定義屬性上比如ctx.locals.isLogin,但是我們總是要寫類似這樣的代碼

app.use(async ctx => {
    ctx.locals = ctx.locals || {};
});

現(xiàn)在官方提供了ctx.state用于報(bào)錯(cuò)中間件的狀態(tài)數(shù)據(jù)。

心夠野 回答

沒上線,費(fèi)點(diǎn)力氣還是能改的。
把項(xiàng)目工程的編碼、文件存儲(chǔ)的編碼、過濾器編碼全部修改一下吧,如果有jsp的話頁面中encoding的聲明也要改一下。

如果有判斷字段長度的地方,UTF8是按照三個(gè)字節(jié),GBK是2個(gè)字節(jié),也需要修改。

當(dāng)然,最好的辦法是說服客戶,如果是空數(shù)據(jù)庫,客戶不想費(fèi)事修改,給權(quán)限的話你自己動(dòng)手來吧;但如果和其它數(shù)據(jù)庫放在一塊就不太可能修改了。

寫榮 回答

你的代碼問題太多了:

  1. a.sort 是函數(shù) sort 對象, 由於你沒有調(diào)用所以也不會(huì)排序, 應(yīng)當(dāng)改為 a.sort()a = sorted(a), 不過在不影響原始資料的前提下, 我們通常選擇後者的作法
  2. mid 的更新應(yīng)該在 while 內(nèi), 否則不管 low 或是 high 怎麼變動(dòng), 你都是在測試一樣的資料
  3. low < high 這個(gè)條件應(yīng)當(dāng)改為 low <= high 否則有一些 corner case 會(huì)有問題
  4. 當(dāng) t > a[mid] 的時(shí)候, low 應(yīng)該更新為 mid + 1 而非 high + 1
  5. 當(dāng) t == a[mid] 也就是找到目標(biāo)的時(shí)候, 也應(yīng)該返回該目標(biāo)的索引值而非打印結(jié)果而已
  6. 當(dāng)搜尋結(jié)束, 若未發(fā)現(xiàn)目標(biāo), 應(yīng)該回傳一個(gè)錯(cuò)誤值, 像是 -1 或是 None, 但我更傾向自定義一個(gè)錯(cuò)誤並引發(fā)之

綜上所述加上其他一些小優(yōu)化包含變量名稱等, 我有一個(gè)修正後的版本給你參考:

class NotFoundError(Exception):
    """Can not found target number within the given numbers"""

def binary(target, numbers):
    numbers = sorted(numbers)
    low, high = 0, len(numbers) - 1
    while low <= high:
        mid = (low + high) // 2
        print(low, high, mid)
        if target < numbers[mid]:
            high = mid - 1
        elif target == numbers[mid]:
            return mid
        else:
            low = mid + 1
    raise NotFoundError

target = int(input("請輸入一個(gè)數(shù)"))
numbers = list(range(1, 21))
try:
    idx = binary(target, numbers)
    print('target {} is in numbers with index {}'.format(target, idx))
except NotFoundError as err:
    # error handling

我回答過的問題: Python-QA

不討囍 回答

1、刪除今天以前的數(shù)據(jù),那是說每天凌晨刪除昨天數(shù)據(jù)即可,你一天就1000W?刪除也不需要排序,直接delete from table where 。。 limit 1000即可。另外也可以每次刪除更少量的數(shù)據(jù),避免產(chǎn)生鎖,執(zhí)行頻率高一點(diǎn)就行。
2、也可以采用分區(qū)的方式,按天分區(qū),每天刪除過期分區(qū)表

風(fēng)畔 回答

oplog只會(huì)記錄變化的部分,沒有選項(xiàng)可以選擇不同的模式。Change stream是基于oplog的,所以其實(shí)它也只能給到變化的部分。Full Document模式給你的是經(jīng)過查詢之后得到的大多數(shù)節(jié)點(diǎn)上提交過的這個(gè)文件的版本。如果有其他操作夾在更新和這次讀取之間,你得到的可能會(huì)是后一次更新之后的文檔。這點(diǎn)在文檔里有描述:Look Full Document for Update Operations

If there are one or more majority-committed operations that modified the updated document after the update operation but before the lookup, the full document returned may differ significantly from the document at the time of the update operation.

不知道你的具體場景是什么,知道具體場景可能還可以進(jìn)一步探討其他解決方案。