MySQL 數字輔助表
首先建立數字輔助表
建立儲存過程,將數字插入nums中
然後插入50,000個數字
但是此儲存過程效率太慢,主要開銷在於insert語句被執行了50,000次
最佳化方法:
若執行
最終插入的數值雖並非50,000個(大於50,000),但極大減少了insert次數,這將大大提升效率。
使用的時候,可以透過where來限制。
-
create table nums(
- a int unsigned primary key);
建立儲存過程,將數字插入nums中
-
create procedure pCreateNums (cnt int unsigned)
-
begin
-
declare a int unsigned default 1;
-
truncate table nums;
-
while a<=cnt do
-
begin
-
insert into nums select a;
-
set a=a+1;
-
end;
-
end while;
- end;
然後插入50,000個數字
- call pCreateNums (50000);
但是此儲存過程效率太慢,主要開銷在於insert語句被執行了50,000次
最佳化方法:
-
create procedure pFastCreateNums (cnt int unsigned)
-
begin
-
declare s int unsigned default 1;
-
truncate table nums;
-
insert into nums select s;
-
while s*2<=cnt do
-
begin
-
insert into nums select a+s from nums;
-
set s=s*2;
-
end;
-
end while;
- end;
若執行
- call pFastCreateNums (50000);
最終插入的數值雖並非50,000個(大於50,000),但極大減少了insert次數,這將大大提升效率。
使用的時候,可以透過where來限制。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29773961/viewspace-1248559/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL數字輔助表MySql
- 給定數字生成中文數字(MySQL)MySql
- MySQL 數字函式大全MySql函式
- mysql表最多欄位數MySql
- T-SQL——數字輔助表SQL
- mysql 字串和數字比,字串會隱式轉換為數字0MySql字串
- MySQL:Innodb中數字的儲存方式MySql
- mysql新建表和多表查詢,關鍵字joinMySql
- 儀表數字影像AI影片分析預警AI
- 查mysql欄位中的數字記錄MySql
- 檢視mysql表大小和記錄數MySql
- 資料庫數字參考表的妙用OM資料庫
- 四邊形輔助線做法
- 五,搭建環境:輔助功能
- MySQL 查詢所有表中的記錄數MySql
- MySQL 關於表名大小寫的引數MySql
- 用數字輔助表補錄資料一則
- MySQL進階實戰6,快取表、檢視、計數器表MySql快取
- MySQL單表最大記錄數不能超過多少?MySql
- mysql 查詢記錄數大於一千萬的表MySql
- 英特爾 Gaudi 加速輔助生成
- 資料資產入表:工業數字化新機遇
- 數字輔助表應用一則(分組生成行)
- 缺失的數字;及找數字分析
- 無效數字問題:Oracle-MySQL-PG大不同OracleMySql
- MySQL JDBC row_count()數字不準確的問題MySqlJDBC
- MySQL查詢某個欄位含有字母數字的值MySql
- Mysql匯入大表檔案時注意修改引數MySql
- 更快的輔助生成: 動態推測
- 使用Github Action來輔助專案管理Github專案管理
- AI輔助需求規格描述評審AI
- 找數字續;及缺失的數字分析
- 2023年中國主要數字建造數字設計廠商市場份額(附原資料表)
- 【PL/SQL】向表中插入連續數字之PL/SQL方法SQL
- 數字遊戲遊戲
- 數字加密加密
- 數字序列
- edgeR:一個數字基因表達資料差異表達分析Bioconductor程式包