您好,登錄后才能下訂單哦!
下面一起來了解下mysql百萬數據快速創建索引的具體步驟,相信大家看完肯定會受益匪淺,文字在精不在多,希望mysql百萬數據快速創建索引的具體步驟這篇短內容是你想要的。 開始準備工作,
user表結構:
CREATE TABLE `users` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, `add_time` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=1000001 DEFAULT CHARSET=latin1;
嘗試在navicat中使用 into outfile導出數據的時候出現錯誤:
select * from users into outfile 'users.txt'; //users.txt文件在mysql的dat
如下圖:
上網查了一下是mysql設置的權限,可以使用
show variables like '%secure%';查看 secure-file-priv 當前的值是什么?
可以看到secure-file-priv參數是用來限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()傳到哪個指定目錄的。 當secure_file_priv的值為null ,表示限制mysqld 不允許導入|導出 當secure_file_priv的值為/tmp/ ,表示限制mysqld 的導入|導出只能發生在/tmp/目錄下 當secure_file_priv的值沒有具體值時,表示不對mysqld 的導入|導出做限制.
導出的數據必須是這個值的指定路徑才可以導出,默認有可能是NULL(我這里查看的是null)就代表禁止導出,所以需要設置一下
由于我使用的是phpstudy,mysql安裝路徑下的my.ini文件,設置一下路徑:
注意:路徑名加雙引號" "
重啟后再次執行錯誤依舊.....
mysql.cnf中沒有對這個參數進行設定,就說明這個參數默認便是null
所以再嘗試修改mysql.cnf中的[mysqld]加入secure_file_priv =
最終如下:
再次重啟mysql
可以看到users.txt生成在同級test數據庫目錄。。。
接著執行:
truncate users;
創建索引:
create index name using BTREE on users(name);
索引的方式有:BTREE、RTREE、HASH、FULLTEXT、SPATIAL,這里不再贅述他們的區別,網上有很多關于這塊的介紹啦
導入文件到相應表users。
load data infile 'users.txt' into table users;
看完mysql百萬數據快速創建索引的具體步驟這篇文章后,很多讀者朋友肯定會想要了解更多的相關內容,如需獲取更多的行業信息,可以關注我們的行業資訊欄目。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。