鍍金池/ 問答/ 數(shù)據(jù)庫問答
清夢 回答

mysql -u -p -h -P
jdbc參數(shù)配置完整一些,另外最好不要用root,單獨(dú)配置一個(gè)user@'%'的賬號來用

逗婦乳 回答

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

笨笨噠 回答

應(yīng)該是包的問題,建議你重新下一個(gè)新的安裝包

不歸路 回答

django確實(shí)不支持database links,可以試試其他方式:https://code.djangoproject.co...

巫婆 回答

用正則 Python正則表達(dá)式

#!/usr/bin/python
# -*- coding: UTF-8 -*- 
import re
 
str = "aabbcc!!";
 
searchObj = re.search( r'[,.!?,。?。縘{2,}', str);
 
if searchObj:
   print("searchObj.group() : ", searchObj.group());
else:
   print("Nothing found!!");
厭遇 回答

這個(gè)沒有特定的規(guī)律,哈哈;

像httpd/mysqld 中的d的含義一般是deamon的意思。

不將就 回答

你可以先把fetch的結(jié)果保存到數(shù)組中然后再用數(shù)組來循環(huán)。

$rows=array();
while($row=mysqli_fetch_array($result)) {
$rows[]=$row;
}

foreach($rows as $row) {
A
}

foreach($rows as $row) {
B
}

或者干脆用mysqli_fetch_all,據(jù)說性能上有些許優(yōu)勢:

$rows=mysqli_fetch_all($result, MYSQLI_BOTH);

注意mysqli_fetch_all默認(rèn)是MYSQLI_NUM,和mysqli_fetch_array不一樣,所以要加第二個(gè)參數(shù)。

喜歡你 回答

基本信息,就是一個(gè)“比賽”,基本字段: id,主隊(duì),客隊(duì),結(jié)果。就完了啊,其它的東西,要么在上面加外鍵,比如什么國家,賽季,聯(lián)賽,要么通過計(jì)算可得。

然后,可以有一個(gè)現(xiàn)成的積分 Table ,不過事實(shí)上它里面的信息是冗余的而已,這個(gè)表刪了也沒事。

青裙 回答

聚合查詢在分組前,先使用aggregationproject將時(shí)間提取出來,類似Aggregation.project("要提取的字段").andExpression("數(shù)據(jù)庫時(shí)間字段").extractDayOfYear().as("day"),然后在通過Aggregation.group("day").count().as("count"));這樣來分組。

局外人 回答

mysql查詢是在磁盤上面進(jìn)行IO操作,php循環(huán)是在內(nèi)存中進(jìn)行,你的第一個(gè)方法的循環(huán)查詢會慢一些。 如果數(shù)據(jù)庫中數(shù)據(jù)量過大,內(nèi)存占用過大,建議分片讀取處理

離夢 回答
for(int i = 0; i < n; i++) {
  if(a[i] == x) {
    cout << i << endl;
    break;              // 這里break了,下面的flag=true不會被執(zhí)行到
    flag = true;
  }
}
離人歸 回答

賬戶權(quán)限不足. 確認(rèn)一下賬號密碼吧.

清夢 回答
8.有什么好的思路可以指導(dǎo)一下我。

不要用 MySQL 。換 PostgreSql ,自帶表分區(qū)功能。

影魅 回答

單看這段規(guī)則沒任何問題的。

因該是你程序有上傳漏洞,比如圖片上傳,用戶上傳了uurs.php的非法文件,通過php重寫了htaccess文件。。

瞄小懶 回答
1.如果事務(wù)T對數(shù)據(jù)對象A加上共享鎖,在沒有釋放A上的共享鎖之前,其他事物是否可以對A加共享鎖?也就是說,同一時(shí)刻,對象A是否可以有很多事物對他加共享鎖?

是的。所謂共享鎖,全稱應(yīng)該為共享讀鎖,即多個(gè)事務(wù)可以同時(shí)加共享鎖,讀取同一個(gè)對象。這也就是『共享』二字的含義。

2.如果事務(wù)T對數(shù)據(jù)對象A加上共享鎖,事物T2沒有對A加共享鎖,那么T2是否能讀取A的數(shù)據(jù)?如果能讀取數(shù)據(jù),那對他加共享鎖的意義是什么,因?yàn)槲壹硬患佣寄茏x取數(shù)據(jù)?

不能。這是MYSQL數(shù)據(jù)庫設(shè)計(jì)共享鎖一部分,事務(wù)T讀取對象A之前,必須要加共享鎖;如果事務(wù)T2想要讀取對象A,那它也要加共享鎖;如果事務(wù)T2想要寫對象A,那么需要加排它鎖,且此時(shí)有共享鎖,T2必須等到,直到施加在A上的共享鎖被T事務(wù)釋放。

3.共享鎖的操作一定是在各個(gè)事務(wù)里面嗎?不用事務(wù)就不能操作共享鎖嗎?

事務(wù)是關(guān)系型數(shù)據(jù)庫必不可少的一個(gè)概念,它是數(shù)據(jù)庫系統(tǒng)執(zhí)行過程中的一個(gè)邏輯單位。

4.實(shí)際場景怎么用?

多個(gè)事務(wù)對某個(gè)對象進(jìn)行同時(shí)讀取的操作之前,都會加共享鎖。
PS:加鎖協(xié)議是數(shù)據(jù)庫并發(fā)控制的一種手段,這種加鎖機(jī)制是有數(shù)據(jù)庫內(nèi)部機(jī)制完成的,對開發(fā)者用戶透明,不過可以通過調(diào)整數(shù)據(jù)庫隔離級別來達(dá)到符合自身業(yè)務(wù)的完整性。

雨蝶 回答

having子句是限制哪些group出現(xiàn)在結(jié)果集中,和是否在select的字段中出現(xiàn)沒有關(guān)系。

話寡 回答

error意思是binlog不是二進(jìn)制文件,你還是都用windows吧,從庫也在windows上好了。
或者都用docker,配起來快:repl,這個(gè)庫里我就放了一主一從。

熊出沒 回答

我的理解這算是數(shù)據(jù)分析的需求了,OLAP的需求依賴一條數(shù)據(jù)庫查詢直接產(chǎn)出結(jié)果不是很容易,如果是SQL可能會考慮存儲過程,MongoDB可選的方法有Map/Reduce和Aggregation,優(yōu)先選擇后者。性能問題在這里先不討論,先看看是否能達(dá)到你想要的效果。第二種數(shù)據(jù)結(jié)構(gòu)應(yīng)該沒有問題,第一種結(jié)構(gòu)我的解決方案如下:

db.test.aggregate([
    {$project: {brands: "$brands", brands2: "$brands"}},
    {$unwind: "$brands"},
    {$unwind: "$brands2"},
    {$project: {pair: ["$brands", "$brands2"]}},
    {$group: {_id: "$pair", count: {$sum: 1}}}
]);

這種方式先復(fù)制一個(gè)brands出來,然后做$unwind相當(dāng)于brands集合自己與自己排列,而你需要的是組合。比如你的示例數(shù)據(jù):

{"brands" : [ "西門子", "ABB", "GE" ]}

出來的結(jié)果是:

{ "_id" : [ "GE", "GE" ], "count" : 1 }
{ "_id" : [ "GE", "ABB" ], "count" : 1 }
{ "_id" : [ "GE", "西門子" ], "count" : 1 }
{ "_id" : [ "ABB", "ABB" ], "count" : 1 }
{ "_id" : [ "ABB", "西門子" ], "count" : 1 }
{ "_id" : [ "ABB", "GE" ], "count" : 1 }
{ "_id" : [ "西門子", "GE" ], "count" : 1 }
{ "_id" : [ "西門子", "ABB" ], "count" : 1 }
{ "_id" : [ "西門子", "西門子" ], "count" : 1 }

有些額外的數(shù)據(jù),比如[ "ABB", "ABB" ],[ "西門子", "ABB" ]/[ "ABB", "西門子" ]。我暫時(shí)還沒想到很好的辦法直接在aggregation pipeline中直接過濾掉這些數(shù)據(jù),不過應(yīng)該不影響你使用。如果有想到更徹底的辦法我再回來補(bǔ)充。

補(bǔ)充回答

求助了一下場外觀眾,aggregation確實(shí)很強(qiáng)大。你可能需要查一下:&dollar;map, &dollar;reduce, &dollar;let, &dollar;range這些操作符的用法

db.test.aggregate({
    $project: {
        tuples: {
            $reduce: {
                initialValue: [],
                input: {
                    $range: [0, {
                        $subtract: [{
                            $size: "$brands"
                        }, 1]
                    }]
                },
                in: {
                    $let: {
                        vars: {
                            i1: "$$this"
                        },
                        in: {
                            $concatArrays: ["$$value", {
                                $map: {
                                    input: {
                                        $range: [{
                                            $add: [1, "$$i1"]
                                        }, {
                                            $size: "$brands"
                                        }]
                                    },
                                    in: [{
                                        $arrayElemAt: ["$brands", "$$i1"]
                                    }, {
                                        $arrayElemAt: ["$brands", "$$this"]
                                    }]
                                }
                            }]
                        }
                    }
                }
            }
        }
    }
}, {
    $unwind: "$tuples"
}, {
    $sortByCount: {
        $setUnion: "$tuples"
    }
})

這個(gè)管道操作本質(zhì)上的意義就是:

for(var i = 0; i < array.length - 1; i++)
  for(var j = i + 1; j < array.length - 1; j++) {...}

執(zhí)行結(jié)果:

{ "_id" : [ "GE", "西門子" ], "count" : 1 }
{ "_id" : [ "ABB", "GE" ], "count" : 1 }
{ "_id" : [ "ABB", "西門子" ], "count" : 1 }
茍活 回答

1 有可能頻繁產(chǎn)生full gc,并且由于對象過多無法釋放導(dǎo)致oom。 比如下面代碼塊,通過map又增加了userDTO的引用。

 Map map = ...
 for (userDTO userDTO:list){
    map.put(userDTO.getname(), userDTO);              
 }

2 這種數(shù)據(jù)量大的計(jì)算,可以考慮用存儲過程來實(shí)現(xiàn),計(jì)算效率會大幅提高。