鍍金池/ 問答/ 數(shù)據(jù)庫問答
青檸 回答

有沒有配置阿里云的安全策略?
在實例安全組-配置規(guī)則里面,配置一個入方向的規(guī)則,加上mongodb的端口號即可
比如我mysql是這么配置的,你可以參考一下改成mongodb的
圖片描述
你可以參考這個,只把端口號改成你的,其他的照我的寫看一下。
圖片描述

入她眼 回答

你的本次兩個SQL語句包含在一個事物中。
在你的這個事物中包含了更新操作,而mysql的 innodb是一個行級鎖,按照mysql的默認事物級別:Repeated Read。
如果你不及時提交或者回滾,那么造成的影響可能有如下兩種:

  1. 當另一個事物需要對這一行進行更新的時候是會被阻塞的。一直等到事物超時釋放。
  2. 你這個事物如果不及時提交或者回滾。那么其他事物在讀取的時候只會讀取到你開始事物之前的那一個版本的數(shù)據(jù)。

所以一個事物要么盡快提交,要么盡快回滾。

順便你可以去看下oracle關于事物的一個官方文檔:
https://docs.oracle.com/javas...

乖乖噠 回答

sql語句當然不支持,并沒有對象這個概念。要使用對象一般是通過orm框架生成sql語句進行查詢,比如sequelize。

網(wǎng)妓 回答

肯定是可以的。
參考范例,你可以在github上面搜索
https://github.com/search?l=P...

也可以聯(lián)系我,做外包

落殤 回答

有兩種思路

  1. 抓取分析網(wǎng)頁版的qq空間評論的http請求,然后用java模擬http請求,當然這種大站肯定會做各種token驗證的,需要去分析JS,此方案效率高但是難點高,因為JS一般都被混淆了的看的非常頭痛。
  2. 簡單粗暴,直接通過模擬瀏覽器操作來完成,比如PhantomJS、Selenium之類的,此方案難點很低但是效率低。

建議先用方案一,如果實在分析不出來就上方案二吧。

鹿惑 回答

f.close() 前面加個空行

PS: 盡量少用 REPL
念初 回答

spring4及以后的話,在你要訪問的那個接口上添加@CorsOrigin注解,允許該接口跨域訪問,如果是之前的話寫一個自己的filter全局過濾請求頭信息,具體自行Google

雨蝶 回答
用騰訊云1M帶寬的服務器,訪問首頁需要等待5s才能顯示完所有信息

1M的帶寬其實只有128kb/s,如果需要加載的資源比較多,慢是當然的

首先訪問一個Controller然后把所有這些信息全部通過數(shù)據(jù)庫查出來

如果有信心可以試試并行這些查詢,更穩(wěn)妥的方式是ajax,把多個查詢分解成(部分)并行的多個請求

執(zhí)念 回答

直接寫不好嗎?? 拼接字符串要加空格 不然都連在一起了
strConnection += " initial catalog=test;";

局外人 回答

一般是utf8mb4_general_ci和utf8mb4_bin,前者不區(qū)分大小寫

舊言 回答

非靜態(tài)代碼塊用的不多,但靜態(tài)代碼塊還是比較常用的,比如你要在類初始化的時候加載一個配置文件。

臭榴蓮 回答

看截圖應該不涉及后臺接收數(shù)據(jù),在browser的network里看兩次請求的formdata都是一樣的,建議排查js

尛曖昧 回答

代理id,上級id,所屬層級

風畔 回答

從這幾個方面入手
1.建立一些有效的索引,索引是比較影響查詢速度的,它可以快速的定位到你要查詢的數(shù)據(jù),如果有多個條件的話可以建立聯(lián)合索引,但要注意聯(lián)合索引的順序,比如有一個這樣的索引,有以下這些字段,(user_id,type_id,views (瀏覽次數(shù)))當我們寫查詢語句的時候,mysql會從左往右匹配索引。比如我們這么寫 (加入表名叫post)
select * from post where user_id = 1 and views > 2 ,如果這樣的話,我們的索引只匹配到了user_id 就不匹配了,因為mysql只能順序的匹配索引。索引的順序也很重要,一般是將區(qū)分度比較高的索引放在最左側(cè),比如 上邊的例子,因為一個網(wǎng)站里用戶的數(shù)量正常來說會比類型的數(shù)量要多很多,所以用戶id的區(qū)分度比較高。
2.如果實在是無法避免條件確實不夠,比如上例子確實只需要這兩個條件(user_id,views),如果是這兩個,mysql就只能匹配user_id,而type_id 無法匹配,由于type數(shù)量并不多,那么我們可以在語句中加入 and type in(此處填寫所有類型id,當然如果類型特別多就不要這么干了)。這樣的話,建立的索引就能全部匹配。
3.盡可能的用合適的數(shù)據(jù)類型來表示數(shù)據(jù),定長的數(shù)據(jù)char要比varchar優(yōu)秀,如果表示狀態(tài)的話tinyint要比int好。
4.如果數(shù)據(jù)量特別多,需要統(tǒng)計條數(shù)的話,如果不是需要非常精確的數(shù)字 explain 的row 是比較快的方式,它比count要快。
5.切分查詢,比如,有這樣一個需求。查詢出所有文章(post),并且包含作者的名字也就是user_name ,一般的話,我們會想到去連表,但我們可以把這個查詢切分開來,先用一個sql查詢出所有文章,再通過代碼拿到所有user_id,然后用in去user表中查詢,最后將查詢的結(jié)果合并,這么做雖然有些麻煩,但有時會是比較快的選擇,因為,當我們將查詢分開的時候,如果此前有程序做過同樣的查詢,mysql就不會執(zhí)行一遍查詢語句,而是會直接從緩存里取數(shù)據(jù)。
6.如果數(shù)據(jù)量不大,建議還是全表掃比較快,因為畢竟索引也有成本。

舊城人 回答

oracle主鍵log_id 不能自動遞增
有兩個辦法:
1、使用oracle的自動增長序列
創(chuàng)建序列

create sequence S_T_THINK_LOG
increment by 1  //指定序列以1遞增,如果沒指定,默認值1會使用
start with 1        //由1開始計數(shù)
nomaxvalue     //不設置最大值
minvalue 1      //設置最小值1
cache 20        //預分配緩存大小為20
order
// 獲取下一個自增ID
public function getNextSeq(){ 
  $sql = "select S_T_THINK_LOG.nextval id from sys.dual";
  $result = $this->query($sql); 
  $nextId = $result[0]['id'];
  return $nextId;
}

function writelog($uid,$username,$description,$status)
{
    // 注意這里啦 
    // 注意這里啦 
    $data['log_id'] = $this->getNextSeq();
    
    $data['admin_id'] = $uid;
    $data['admin_name'] = $username;
    $data['description'] = $description;
    $data['status'] = $status;
    $data['ip'] = request()->ip();
    $data['add_time'] = time();
    $log = Db::name('think_log')->insert($data);

}

第二種,就是樓上說的 觸發(fā)器啦

create or replace trigger trg_TINK_LOG
  before insert on TINK_LOG
  for each row
declare
begin
  :think_log.LOG_ID:= S_T_THINK_LOG.NEXTVAL;  
end trg_t1;
網(wǎng)妓 回答

有圖形化界面的版本,推薦你使用,方便調(diào)試。

雨萌萌 回答

圖片描述

原來是我想多了,其實沒那么復雜![手動大哭、、、]