【引子】
IT這一行在我看來是比較要求動手能力的,但是人非生而知之;人們身上的技能除了一些本能之外,大多都是通過學習而得到的。
前一段時間一直在整理素材,寫一個關於explain 的系列文章;在一開始我就遇到了一個問題,就是我需要一個示例數據庫,不然
沒辦法進行,之前從事SQL Server相關工作的時候發現SQL Server是官方是一個示例數據庫的。心想MySQL應該也有,結果是找
一半天沒找到,沒辦法只好自己設計一個,最后發現設計不是問題,問題是數據完整性和數據的量。數據完整性影響到數據在整個
邏輯上下文中的自洽性,數據的量就直接影響到優化器對執行計划的選擇。所以說要構造出滿足以上條件的數據庫還是要耗費大量
心血的;好在今天看mysql-connector-python 8.0.11 版本的官方文檔的時候看到了一個示例數據庫 employees。
1、介紹employees示例數據庫
1): employees 的源代碼托管在github上面、下載下來把數據導入到mysql中就能用了
2): 項目地址:https://github.com/datacharmer/test_db
2、下載employees示例數據庫
https://github.com/datacharmer/test_db
3、解壓后目錄中的內容如下
tree test_db-master/ test_db-master/ ├── Changelog ├── employees_partitioned_5.1.sql ├── employees_partitioned.sql ├── employees.sql ├── images │ ├── employees.gif │ ├── employees.jpg │ └── employees.png ├── load_departments.dump ├── load_dept_emp.dump ├── load_dept_manager.dump ├── load_employees.dump ├── load_salaries1.dump ├── load_salaries2.dump ├── load_salaries3.dump ├── load_titles.dump ├── objects.sql ├── README.md ├── sakila │ ├── README.md │ ├── sakila-mv-data.sql │ └── sakila-mv-schema.sql ├── show_elapsed.sql ├── sql_test.sh ├── test_employees_md5.sql └── test_employees_sha.sql
4、把數據導入數據庫
mysql -uroot -pxxxxxx -t < test_db-master/employees.sql
Warning: Using a password on the command line interface can be insecure.
+-----------------------------+
| INFO |
+-----------------------------+
| CREATING DATABASE STRUCTURE |
+-----------------------------+
+------------------------+
| INFO |
+------------------------+
| storage engine: InnoDB |
+------------------------+
+---------------------+
| INFO |
+---------------------+
| LOADING departments |
+---------------------+
+-------------------+
| INFO |
+-------------------+
| LOADING employees |
+-------------------+
+------------------+
| INFO |
+------------------+
| LOADING dept_emp |
+------------------+
+----------------------+
| INFO |
+----------------------+
| LOADING dept_manager |
+----------------------+
+----------------+
| INFO |
+----------------+
| LOADING titles |
+----------------+
+------------------+
| INFO |
+------------------+
| LOADING salaries |
+------------------+
+---------------------+
| data_load_time_diff |
+---------------------+
| NULL |
+---------------------+
5、總結
完成上面的步驟你自己的employees庫就算是好了、它的結構如下:
-----
