鍍金池/ 問答/ 數(shù)據(jù)庫問答
夏夕 回答

為啥要在sql里面做這么多的邏輯處理,查出結(jié)果再對(duì)數(shù)據(jù)處理的方式比較好吧,也不必依靠id和日期的對(duì)應(yīng)關(guān)系

萌吟 回答

select * from table order by TIME desc

忠妾 回答

如果只是count統(tǒng)計(jì),不需要做update操作。

我感覺你的需求用case when表達(dá)式的計(jì)算值,再做計(jì)數(shù)統(tǒng)計(jì)就可以了,如:

select trans_type, count(*)
from (
    select case when left(transportal,1) = 'a' then 1 when left(transportal,1) = 'b' then 2 else 0 end as trans_type
    from trade 
) t
group by trans_type
涼薄 回答

mywhile:WHILE b > 0 DO

IF b % 2 != 0 THEN
    SET b = b - 1;
    #CONTINUE 這里實(shí)現(xiàn)類continue功能;
    iterate mywhile;
END IF;
 SET c = c + 1;

END WHILE mywhile;
SET a = a - 1;

帥到炸 回答

tp不是對(duì)參數(shù)做預(yù)處理了嗎,而且用ORM本身可以有效預(yù)防sql注入

情已空 回答

多線程只是針對(duì)CPU來說的吧,真正的IO還是一樣順序?qū)懭氲?,不可能并發(fā)。

久愛她 回答

在跳板機(jī)上安裝一個(gè)mysql的proxy,這種軟件有好幾個(gè),比如MariaDB MaxScale,HAProxy,MySQL Router等,下面是一個(gè)對(duì)比:
http://proxysql.com/compare

貓館 回答

編譯開發(fā)版的 nginx,這里以 github 上的 nginx 源碼鏡像為例

git clone https://github.com/nginx/nginx.git
cd nginx
CFLAGS="-g -O0" ./auto/configure --with-debug --prefix=../etc
make
make install

修改 nginx.conf 配置文件,讓它監(jiān)聽在 8080 端口,并啟用開發(fā)模式

worker_processes  1;
+master_process off;
+daemon off;

http {
   server {
       -listen       80;
       +listen       8080;

此時(shí)運(yùn)行 nginx ,然后用瀏覽器打開 http://localhost:8080/ 確認(rèn)網(wǎng)站運(yùn)行

../etc/sbin/nginx

最后使用 gdb 重新運(yùn)行 nginx

xxx/nginx > gdb ../etc/sbin/nginx
Reading symbols from ../etc/sbin/nginx...done.

(gdb) b main
Breakpoint 1 at 0xNNNN: file src/core/nginx.c, line 196.

(gdb) r
Starting program: ../etc/sbin/nginx
[Thread debugging using libthread_db enabled]
Using host libthread_db library "xxx/lib/libthread_db.so.1".

(gdb) b main
Breakpoint 1, main (argc=1, argv=0xNNNN) at src/core/nginx.c:196

(gdb) list main
191    static char **ngx_os_environ;
192
193
194    int ngx_cdecl
195    main(int argc, char *const *argv)
196    {
197        ngx_buf_t        *b;
198        ngx_log_t        *log;
199        ngx_uint_t        i;
200        ngx_cycle_t      *cycle, init_cycle;

(gdb) print argc
$1 = 1

(gdb) print argv[0]
$2 = 0xNNNN "xxx/etc/sbin/nginx"

gdb 提示

  1. 使用 help 或者 help xxx 獲得命令幫助。
  2. 添加函數(shù)斷點(diǎn)可直接輸入 b <函數(shù)名>,不必找出函數(shù)的文件位置。list 同理。

參考

  1. https://docs.nginx.com/nginx/...
  2. https://nginx.org/en/docs/ngx...
來守候 回答

把你的語句拼成mongodb的Document@@

枕邊人 回答

gender字段只有兩個(gè)值,不建議創(chuàng)建索引。
Name,Gender字段的不同值多,建議創(chuàng)建索引。

另外大數(shù)據(jù)量查詢慢的問題,比較常用的做法就是做分頁處理,具體寫法自己搜索一下。


分頁的sql語句建議:
1、ROWNUM <= 20的條件,最好能放到最內(nèi)層的sql語句的where條件中
2、可以嘗試一下IN 的用法,如:

SELECT * FROM (
    SELECT ROWNUM RN, ID, NAME, GENDER, BIRTHDAY FROM STUDENT 
    WHERE ID IN (
        SELECT ID FROM STUDENT WHERE NAME='小明' AND GENDER='01' AND ROWNUM <= 20
    )
)
WHERE RN > 10;

另外, 把oracle的執(zhí)行計(jì)劃發(fā)出來,方便看執(zhí)行過程。

雨蝶 回答
  • 雖然我沒寫過這類代碼,但是看文檔是可以支持的,通過plugin。
  • 大致這樣: db.Callback().Query().Before("gorm:query").Register("my_plugin:before_query", beforeQuery)
尕筱澄 回答

你自己不都說過,二級(jí)索引比聚集索引小嗎?
同樣掃描索引,當(dāng)然是索引越小越快。

鐧簞噯 回答

路徑不一樣,一個(gè)是類路徑 。在項(xiàng)目路徑 下創(chuàng)建lib文件夾
通常是在這里加載的。

忘了我 回答

ANSI Equivalent to REAL_AS_FLOAT, PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, and (as of MySQL 5.7.5) ONLY_FULL_GROUP_BY.

ANSI_QUOTES

Treat " as an identifier quote character (like the ` quote character) and not as a string quote character. You can still use ` to quote identifiers with this mode enabled. With ANSI_QUOTES enabled, you cannot use double quotation marks to quote literal strings because they are interpreted as identifiers.

created_at >= 2017-06-24,這么用沒問題?等同數(shù)學(xué)公式created_at >= 1987

毀了心 回答

加粗文字

加粗文字

列表項(xiàng)目

九年囚 回答

可以使用位元來表達(dá),一個(gè)int就能表達(dá)32個(gè)欄目,
例如

SELECT * FROM content WHERE `type`=POW(2,0)|POW(2,2)

可以查出屬于1,3欄目的新聞

笨笨噠 回答

你所使用的mongodb是nodejs的一個(gè)package,而不是原生的查詢語句,那是package生成的最終的結(jié)果。
Node.js MongoDB Driver API

文檔里寫很清楚find(query, options),options的定義里是沒有_id的,里面有projection應(yīng)該就是你想要的。