資料庫sql的in操作,解決in的過多

2022-08-14 05:57:16 字數 489 閱讀 5650

乙個sql的拼寫後,伺服器會把這個sql傳送到資料庫伺服器執行,一般不在乙個物理機上。那麼傳送需要走網路,包丟失等網路情況就可能出現。

一般情況,乙個sql的長度不會很大,但是有種這樣的情況。in操作時,這些資料**於外部,不好預估有多少。此時,最好不要貿然把所有字串都通過這乙個sql拼進去。此時這個sql長度很長,就可能發生超過資料庫的限制max_allowed_packet,而且sql過長,資料庫的效率也不會很高。因此,很容易想到的是,分批執行。把這個資料按等長進行分割。比如一次執行500個。

簡單寫個函式,比如這個in資料是個php陣列過來的。

$in_data = array();//

in過來的陣列

$row_num = 500;//

每次500個

$rows = ceil(count($in_data)/$row_num);//

幾組for($i = 0; $i

< $rows; $i++)

資料庫操作sql

一 資料庫的建立 1 建立乙個名稱為mydb1的資料庫 create database mydb1 2 建立乙個使用utf8字符集的mydb2資料庫。create database mydb2 character set utf8 3 建立乙個使用utf8字符集,並帶比較規則的mydb3資料庫。cr...

SQL資料庫的基本操作

一丶基本命令列操作 1 顯示當前資料庫伺服器中的資料庫列表 mysql show databases 2 建立資料庫 mysql create database 資料庫名 3 建立資料表 mysql use 庫名 mysql create table 表名 欄位名 varchar 20 欄位名 ch...

SQL 資料庫的操作(一)

一.sqlserver一些基本命令 查詢資料庫是否存在 if db id testdb is not null 檢查表是否存在 if object id textdb u is not null 其中u代表使用者表 建立資料庫 create database 資料名 刪除資料庫 drop datab...