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

orm只是一種概念,顧名思義就是對(duì)象關(guān)系映射。
具體的實(shí)現(xiàn)有 hibernate和mybatis等,干的事無非就是用sql查詢結(jié)果構(gòu)造對(duì)象以及用對(duì)象構(gòu)造sql語句

安若晴 回答

1.先下載mysql:http://dev.mysql.com/download...
2.加入環(huán)境變量:終端執(zhí)行PATH="$PATH":/usr/local/mysql/bin

孤星 回答

不會(huì),inner join是求交集,不會(huì)擴(kuò)大數(shù)據(jù)范圍。但是有可能會(huì)增加數(shù)據(jù)條數(shù),因?yàn)橐粚?duì)多

怣人 回答

select title, count(user_id) total from a left join b on a.id=b.aid group by(b.aid) order by total DESC

b表有沒有數(shù)據(jù)不影響

clipboard.png

撿肥皂 回答

直接鏈接你A的數(shù)據(jù)庫(kù)不就行了,配置文件里面都有這些鏈接配置

冷溫柔 回答

應(yīng)該單獨(dú)拉出來用緩存來做吧,然后可以定時(shí)持久化到數(shù)據(jù)庫(kù)。直接用數(shù)據(jù)庫(kù)做的話,比如短時(shí)間內(nèi)來一個(gè)大并發(fā)的場(chǎng)景時(shí)(網(wǎng)紅發(fā)文瞬間多了幾十個(gè)贊),可能會(huì)有瓶頸。

當(dāng)然,也要考慮你們具體的場(chǎng)景。

糖果果 回答

1、時(shí)間檢索結(jié)果集小的話就一個(gè)start_time單列索引就夠了,force一下索引,因?yàn)間roup by會(huì)引導(dǎo)mysql走group by字段的索引或者直接全掃。
2、看表名,你這應(yīng)該是一個(gè)分表,如果時(shí)間范圍直接覆蓋了大部分表數(shù)據(jù)的話什么索引都不用了,全表掃吧,什么三個(gè)字段兩個(gè)字段加索引并沒有什么用,時(shí)間范圍加group by字段的復(fù)合索引也只用到了時(shí)間字段,只有g(shù)roup by字段的索引就是掃了全表,除非用索引覆蓋

舊酒館 回答
  1. 需要關(guān)聯(lián)到數(shù)據(jù)庫(kù),讓 IDEA 認(rèn)識(shí)你的 SQL

    clipboard.png

  2. 語言注入(這一步是自動(dòng)的,只要上面正確關(guān)聯(lián)了數(shù)據(jù)庫(kù),那么 IDEA 就可以認(rèn)識(shí)你的 SQL)

    手動(dòng)注入方式,在 SQL 語句上,顯示可用操作(A-Enter),選擇 Inject language or reference,選擇合適的語言即可

  3. 格式化(CA-L
    直接使用 IDEA 標(biāo)準(zhǔn)的格式化即可!
司令 回答

DELETE FROM your_table WHERE online < NOW() - 20;

更精確的刪除的話在后面繼續(xù)加where條件

憶往昔 回答

你說的應(yīng)該是傳遞路由參數(shù)吧

routes: [
    { path: '/mainnav/:stuname', ... }
    ...
  ]

vue 動(dòng)態(tài)路由匹配

維他命 回答

index 或者key 都是索引的名字而已,看需求情況,可以給需要的表加唯一索引,對(duì)于中間表,就像你加的那兩個(gè)索引,其實(shí)對(duì)于查詢速度是有影響的,只不過數(shù)據(jù)不太穩(wěn)定,可以在多對(duì)多的表加外鍵解決。最后加索引的鍵注意鍵的長(zhǎng)度,具體了解下聚簇的概念。

舊顏 回答

已解決
model.primaryKeys

卟乖 回答

mysql有幾種不同長(zhǎng)度的text

TINYBLOB, TINYTEXT       L + 1 bytes, where L < 2^8    (255 Bytes)
BLOB, TEXT               L + 2 bytes, where L < 2^16   (64 Kibibytes)
MEDIUMBLOB, MEDIUMTEXT   L + 3 bytes, where L < 2^24   (16 Mebibytes)
LONGBLOB, LONGTEXT       L + 4 bytes, where L < 2^32   (4 Gibibytes)
旖襯 回答

innodb引擎的所有儲(chǔ)存了主鍵ID,事務(wù)ID,回滾指針,非主鍵ID,
他的查詢就會(huì)是非主鍵ID也可覆蓋來取得主鍵ID。

也就是說比如你在created_at上建立索引,此時(shí)主鍵也是在索引上的。不然你可以試試以下語句

explain select id from tablea where created_at = 1
怣人 回答

如果能給些測(cè)試條件別人會(huì)更容易理解你的問題。
首先說$eq,這個(gè)運(yùn)算符大部分時(shí)候沒有必要寫。所以你的查詢等價(jià)于:

db.SEC_2018_05_12.aggregate([
    { $match : { fyear : 2018, fmonth: 5, fday: 12, fhour: 17, fmin: 8 } }, 
    { $group: { _id: {dev_id: "$dev_id", data_id: "$data_id"}, maxTimeValue: { $max: "$fdate" } } }  ]).pretty()

然后你的要求是取到第一條數(shù)據(jù),而不僅僅是最大那個(gè)fdate值。可以換個(gè)思路來理解這個(gè)問題:

按dev_id asc, data_id asc, fdate desc三者來排序,然后取每個(gè)分組的第一條數(shù)據(jù)

按照這個(gè)思路,查詢應(yīng)該是:

db.SEC_2018_05_12.aggregate([
    { $match : { fyear : 2018, fmonth: 5, fday: 12, fhour: 17, fmin: 8 } }, 
    { $sort: { dev_id: 1, data_id: 1, fdate: -1} },
    { $group: { _id: {dev_id: "$dev_id", data_id: "$data_id"}, maxDoc: { $first: "$$ROOT" } } }  ]).pretty()

最后說說數(shù)據(jù)模型設(shè)計(jì)的問題。$match這里其實(shí)就是一個(gè)時(shí)間,但是被你拆成了很多部分來存儲(chǔ)。除非有明確的理由支持,個(gè)人并不是十分贊成這樣的做法。

  1. 本來一個(gè)時(shí)間只有4 bytes,你這么一來變成了5 x 4 = 20 bytes,注意存儲(chǔ)空間;
  2. $match/$sort需要索引的支持,所以原來一個(gè)索引現(xiàn)在將會(huì)變成5個(gè)字段的聯(lián)合索引,同樣是浪費(fèi)空間和效率;

在數(shù)據(jù)量大的情況下,上面的查詢是需要索引支持的。換你現(xiàn)在的寫法,索引應(yīng)該是:

{
  fyear: 1,
  fmonth: 1,
  fday: 1,
  fhour: 1,
  fmin: 1,
  dev_id: 1,
  data_id: 1,
  fdate: -1
}

看上去就夠驚悚了不是嗎?但其實(shí)前面那一堆時(shí)間本身只是一個(gè)時(shí)間而已。

爛人 回答

隨便選一個(gè)操作 mysql 的庫(kù),執(zhí)行原生 sql 語句就行了:
比如:SHOW CREATE TABLE <表名> 這個(gè)就是你看到的樣子,
或者:DESCRIBE <表名> 也能查詢到表結(jié)構(gòu)。

笨笨噠 回答

建議你添加一個(gè)字段時(shí)間戳timestamp,后臺(tái)獲取數(shù)據(jù)根據(jù)數(shù)據(jù)的update_time/create_time去篩選過濾,新的數(shù)據(jù)的create_time在傳遞的timestamp后面,所以就不會(huì)導(dǎo)致沖突;

只是提出這樣一個(gè)思路,你還需要自己結(jié)合自己的業(yè)務(wù)考慮下。

傻丟丟 回答

善用搜索
select max(a.str_avg),a.deptno from (select avg(sal) as str_avg,deptno from emp group by deptno) a group by a.deptno;
不能對(duì)包含聚合或子查詢的表達(dá)式執(zhí)行聚合函數(shù)。也就是說max,min,avg是不能嵌套的。既然按部門進(jìn)行分組,那么每個(gè)部分就會(huì)存在一個(gè)最大值和一個(gè)平均值select max(sal),avg(sal) ,deptno from emp group by deptno 如果你想要查哪個(gè)部門的平均值是最高的select max(maxsal),deptno from (select avg(sal),deptno from emp group by deptno) a