我一直在嘗試在mysql中的兩個表上執行聯接,並且查詢將執行一兩分鐘,然後再耗盡記憶體而沒有結果.我距離資料庫專家還很遠,所以我不確定我的查詢編寫是否不好,是否配置了一些mysql設定錯誤,或者我是否真的應該對查詢做其他事情.僅供參考,資料庫位於我的計算機本地.
我有乙個大表(約200萬條記錄),其中一列是進入小表(約3000條記錄)的id.在這種情況下,id在大表中不是唯一的,而在小表中是唯一的.我嘗試了以下查詢的各種形式,但似乎沒有任何效果:
select big_table.*,small_table.col
from big_table
left outer join small_table on (big_table.small_id = small_table.id)
我正在對確實需要全部200萬行的資料進行大量分析,儘管不一定要在單個查詢中進行.這是我的「顯示建立表」的結果:
'big_table','create table 'big_table' (
'big_id_1',varchar(12) not null,'big_id_2',int(100) not null,'small_id' varchar(8) default null,'typical_other_column' varchar(3) default null,...
primary key ('big_id_1','big_id_2')
) engine=myisam default charset=latin1'
'small_table','create table `small_table` (
`id`,varchar(8) not null default '''',`col`,varchar(1) default null,...
primary key (`id`),key `inx_id` (`id`)
) engine=innodb default charset=latin1'
這是我的乙個候選查詢的「解釋」結果:
id select_type table type possible_keys key key_len ref rows extra
1 ****** big_table all null null null null 1962193
1 ****** small_table eq_ref primary,inx_id primary 10 db_name.big_table.small_id 1
Mysql連表查詢(內連線 外連線)
建立兩張 並分別插入資料 create table ifnot exists left table id int auto increment,age int,name varchar 20 primary key id engine innodb default charset utf8 auto...
08 1連線查詢 外連線 MySQL
外連線 應用場景 用於查詢乙個表中有,另乙個表中沒有的記錄 特點 1 外連線的查詢結果為主表中的所有記錄 如果從表中有和主表匹配的,則顯示匹配的值 如果從表中沒有和主表匹配的,則顯示null 外連線查詢的結果 內鏈結結果 主表中有而從表中沒有的記錄 2 左外連線 left join 左邊的是主表 右...
mysql連庫 mysql連線找不到庫如何解決
1 ldd,檢視可執行檔案的連線情況 2 locate,查詢需要的動態庫,看是否存在 3 如果存在 1 通過ldconfig註冊即可 ldconfig usr local mysql lib mysql libmysqlclient.so.15 ldconfig usr local mysql li...