1. 程式人生 > >mysql檢視效率測試

mysql檢視效率測試

mysql中的檢視不太智慧,稍微複雜些的檢視,不能展開,下面是測試:

CREATE ALGORITHM=UNDEFINED DEFINER=`myadmin`@`` SQL SECURITY DEFINER VIEW `v_big_table` AS select `big_table`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`big_table`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`big_table`.`TABLE_NAME` AS `TABLE_NAME`,`big_table`.`COLUMN_NAME` AS `C
OLUMN_NAME`,`big_table`.`ORDINAL_POSITION` AS `ORDINAL_POSITION`,`big_table`.`COLUMN_DEFAULT` AS `COLUMN_DEFAULT`,`big_table`.`IS_NULLABLE` AS `IS_NULLABLE`,`big_table`.`DATA_TYPE` AS `DATA_TYPE`,`big_table`.`CHARACTER_MAXIMUM_LENGTH` AS `CHARACTER_MAXIMUM_LENGTH`,`big_table`.`CHARACTER_OCTET_LENGTH`
AS `CHARACTER_OCTET_LENGTH`,`big_table`.`NUMERIC_PRECISION` AS `NUMERIC_PRECISION`,`big_table`.`NUMERIC_SCALE` AS `NUMERIC_SCALE`,`big_table`.`DATETIME_PRECISION` AS `DATETIME_PRECISION`,`big_table`.`CHARACTER_SET_NAME` AS `CHARACTER_SET_NAME`,`big_table`.`COLLATION_NAME` AS `COLLATION_NAME`,`big_table`.
`COLUMN_TYPE` AS `COLUMN_TYPE`,`big_table`.`COLUMN_KEY` AS `COLUMN_KEY`,`big_table`.`EXTRA` AS `EXTRA`,`big_table`.`PRIVILEGES` AS `PRIVILEGES`,`big_table`.`COLUMN_COMMENT` AS `COLUMN_COMMENT`,`big_table`.`id` AS `id` from `big_table` union select `small_table`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`small_table`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`small_table`.`TABLE_NAME` AS `TABLE_NAME`,`small_table`.`COLUMN_NAME` AS `COLUMN_NAME`,`small_table`.`ORDINAL_POSITION` AS `ORDINAL_POSITION`,`small_table`.`COLUMN_DEFAULT` AS `COLUMN_DEFAULT`,`small_table`.`IS_NULLABLE` AS `IS_NULLABLE`,`small_table`.`DATA_TYPE` AS `DATA_TYPE`,`small_table`.`CHARACTER_MAXIMUM_LENGTH` AS `CHARACTER_MAXIMUM_LENGTH`,`small_table`.`CHARACTER_OCTET_LENGTH` AS `CHARACTER_OCTET_LENGTH`,`small_table`.`NUMERIC_PRECISION` AS `NUMERIC_PRECISION`,`small_table`.`NUMERIC_SCALE` AS `NUMERIC_SCALE`,`small_table`.`DATETIME_PRECISION` AS `DATETIME_PRECISION`,`small_table`.`CHARACTER_SET_NAME` AS `CHARACTER_SET_NAME`,`small_table`.`COLLATION_NAME` AS `COLLATION_NAME`,`small_table`.`COLUMN_TYPE` AS `COLUMN_TYPE`,`small_table`.`COLUMN_KEY` AS `COLUMN_KEY`,`small_table`.`EXTRA` AS `EXTRA`,`small_table`.`PRIVILEGES` AS `PRIVILEGES`,`small_table`.`COLUMN_COMMENT` AS `COLUMN_COMMENT`,`small_table`.`id` AS `id` from `small_table`

這個檢視定義了2個表union

[email protected]>explain select * from big_table where table_name in(‘xx’,’aa’);
+—-+————-+———–+——-+—————-+—————-+———+——+——+———————–+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+—-+————-+———–+——-+—————-+—————-+———+——+——+———————–+
| 1 | SIMPLE | big_table | range | idx_TABLE_NAME | idx_TABLE_NAME | 194 | NULL | 1022 | Using index condition |
+—-+————-+———–+——-+—————-+—————-+———+——+——+———————–+

在源表上的一個in子查詢,是可以用到索引的,但是下面的檢視中查詢,是無法使用到索引的

[email protected]>explain select * from v_big_table where table_name in(‘xx’,’aa’);
+—-+————–+————-+——+—————+——+———+——+——–+—————–+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+—-+————–+————-+——+—————+——+———+——+——–+—————–+
| 1 | PRIMARY | | ALL | NULL | NULL | NULL | NULL | 904149 | Using where |
| 2 | DERIVED | big_table | ALL | NULL | NULL | NULL | NULL | 902397 | NULL |
| 3 | UNION | small_table | ALL | NULL | NULL | NULL | NULL | 1752 | NULL |
| NULL | UNION RESULT |

相關推薦

mysql檢視效率測試

mysql中的檢視不太智慧,稍微複雜些的檢視,不能展開,下面是測試: CREATE ALGORITHM=UNDEFINED DEFINER=`myadmin`@`` SQL SECURITY DEFINER VIEW `v_big_table` AS se

MySQL事務效率測試

目標表T1有100列,目前有大約1.8萬條記錄。Integer型別的欄位W1和W2是聯合唯一性索引。 現在向這張表中以欄位W1和W2為WHERE條件,更新4個欄位C1、C2、C3、C4,即: SQL

mysql 主主互備模式下的效率測試

參照https://blog.csdn.net/hongguo_cheng/article/details/80293588這篇文章,搭建了一個mysql主主互備的環境。 環境資訊是:windows主機上,virtualbox安裝了兩臺虛擬機器,CentOS7    &nbs

MySQL檢視SQL語句執行效率

原文:https://www.cnblogs.com/balala/p/5601308.html Explain命令在解決資料庫效能上是第一推薦使用命令,大部分的效能問題可以通過此命令來簡單的解決,Explain可以用來檢視 SQL 語句的執行效 果,可以幫助選擇更好的

MySQL Cluster寫入效率測試

MySQL Cluster使用到目前為止遇到渴望得到答案的問題,也是直接影響使用的問題就是MySQL Cluster的寫入效率問題和Cluster是否適合大資料儲存、如何配置儲存的問題。 在之前的測試中MySQL Cluster的寫

Mysql 造數測試

mysql 造數測試 1、創建custom數據庫create database custom;2、創建cuser表create table cuser (id int unsigned auto_increment primary key ,account varchar(50)

mysql+mycat壓力測試一例

mysql mycat sysbench前言有很多人擔心生產系統上新東西的程序怕壓力跟不上和穩定性不行,是的,大家都怕,所以領導要求做一次壓力測試,我個人也覺得是有必要的.如果按原理來說,mycat如果不做分片,純粹只是代理的話,他所做的事情,其實更多的是數據轉發,而這個轉發能力,當然就是看他能有多強.既然理

按行讀取文本或字符串到數組效率測試:StreamReader與Split函數對比

sed ade csv tel style null con nco str 1. 讀取文本文件測試:測試文件“XX.csv”,3538行 耗時:4618ms Stopwatch sw = new Stopwatch();

Mysql 性能測試工具 sysbench的安裝和使用

library serve dia ransac 2.6 需要 option 5.7 hive 工作上需要用到AWS和Azure的Mysql服務,需要測試比較一下兩個雲服務的性能。於是開始百度 + google,查找性能測試工具。最終決定用sysbench。sys

MySQL】【壓測】使用sysbench對MySQL進行壓力測試

usr with sleep library val repos then plot 停止 1.背景 ? 出自percona公司,是一款多線程系統壓測工具,可以根據影響數據庫服務器性能的各種因素來評估系統的性能。例如,可以用來測試文件IO,操作系統調度器,內存分配和傳輸

jquery 操作dom效率測試------html和append插入文檔

left clas cal -- 操作dom fun query dom his $(function () { var htmlResult = createHtmlContent(100); console.log(htmlResul

Jmeter之mysql性能測試

https bsp 但是 建立 工具 配置 下載 圖片 AC Jmeter官網地址:https://jmeter.apache.org/ 作為開發人員,必要的性能測試還是需要掌握的,雖然配置druid可以比較直觀獲得sql的執行時間,那些表被訪問的比較多等等,但是不能測試s

Python_線程、線程效率測試、數據隔離測試、主線程和子線程

正在 可靠 process () -c 全局 成功 style 子線程 0、進程中的概念   三狀態:就緒、運行、阻塞     就緒(Ready):當進程已分配到除CPU以外的所有必要資源,只要獲得處理機便可立即執行,這時的進程狀態成為就緒狀態.     執行/運行(

Mysql Innodb Cluster測試

dba figure flush mysq bst slave blog lib reat 本文介紹mysql 8版本下的Innodb Cluster配置與測試過程,其核心還是mysql的組復制功能,通過使用mysql shell簡化了組復制的配置過程,同時使用mysql

基於mysql的基準測試

slap 自動 特點 基準 lap 生成 測試 信息 color 常用的基準測試工具介紹: mysql基準測試工具: mysqlslap 特點: 可以模擬服務器負載,並輸出相關統計信息 可以指定也可以自動生成查詢語句 基於mysql的基準測試

MySQL DDL方案測試及選型.

效能測試 一、測試背景 1、機器配置和版本 機器配置(下面測試qps資料都是以本機器配置為準) 型號:Dell s3710 磁碟:SSD 3T CPU:32 記憶體:128G MySQL版本:5.7.22 gh-ost版本:1.0.46 pt-osc版本:3.0.12 2、資料準備和業務模擬

MySQL檢視資料庫相關資訊

使用的MySQL時,需要了解當前資料庫的情況,例如當前的資料庫大小,字符集,使用者等等。下面總結了一些檢視資料庫相關資訊的命令 1:檢視顯示所有資料庫 mysql > show databases; + - ------------------ + | 資料庫

MySQL檢視所有檢視的命令

MySQL檢視所有檢視的命令 有時為了檢視特定資料庫中所建立的所有檢視,可以使用這個命令: 因為,檢視其實就是一張虛擬的表,所有也可以認為是一張表,所有是 show table, 而它由於普通的表有所不同,所以有 status   where comment='view';

Access,Mysql資料庫速度測試

  Access在多個數據庫多表中讀取 Release版直接點選exe下執行 以MMQ工程為例,讀取desi型別資料庫 1.105個數據庫,每個資料庫169個表,共 151336條記錄,時間:31秒 2.資料庫連線及表格連線(不讀取內容),時間:23秒 3.資料庫

mysql的壓力測試軟體sysbench

#我們下載mysql的壓力測試軟體sysbench [email protected]_test ~]# wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz #解壓安裝 [[email protect