找到MySQL的優(yōu)點
更新時間:2009年09月17日 14:12:37 作者:
假設(shè)你是一個Access開發(fā)人員,而你想移植一個Access后臺到一個本地的MySQL 服務(wù)器用于開發(fā)和測試。你將維護你自己的解決方案并樂于使用Community Server
第一步——安裝MySQL
到http://dev.mysql.com/downloads/ 下載這個服務(wù)器、MySQL GUI工具和MySQL ODBC驅(qū)動。你可以選擇的服務(wù)器有:5.0, 5.1或6.0。然后安裝它們。
安裝過程中的注意事項:
你的防火墻應(yīng)該設(shè)置為允許通過3306端口連接。
將MySQL作為一個服務(wù)來運行(可以選擇命令行方式)。
MySQL安裝默認username/login = root和server = localhost。
MySQL提供了對存儲引擎/表類型的選擇——主要是MySAM和InnoDb。后者看起來更像是Access,它具有事務(wù)和外鍵,所以這篇文章中我們使用這種方式。
具有用戶和安全選項。不要忘了記錄所有的密碼。
還有要安裝Bullzip Access to MySQL和Dreamcoder為之后使用。
第二步——將表從Access移到MySQL
使用Bullzip將后臺數(shù)據(jù)表轉(zhuǎn)移到MySQL,或打開你的數(shù)據(jù)庫并通過ODBC將你的數(shù)據(jù)導(dǎo)出。
要注意的事項:
MySQL不能識別Access默認用于字段的函數(shù)(例如Date/Time字段中的Now()和Date()函數(shù)):它們可能被刪除或者表被拒絕。推薦你在轉(zhuǎn)移/導(dǎo)出之前刪除它們。
Access的autonumber字段與MySQL的auto_increment字段不一致。Bullzip在轉(zhuǎn)移時會進行轉(zhuǎn)換,而ODBC則不會。
Access數(shù)據(jù)類型會轉(zhuǎn)換為類似的MySQL數(shù)據(jù)類型。但是,在MySQL中范圍更大,你可能希望之后再改變它們。
Access的“ole object”變成了MySQL中的“blob”。因為一個OLE服務(wù)器問題,我們將blobs改為longtext。
步驟三——改變MySQL表(字段)
打開Dreamcoder或MySQL管理器(一個GUI工具)。如果你熟悉SQL Server,那么把這些看作是Enterprise或SQL server management studio express界面。
連接到這個轉(zhuǎn)移/導(dǎo)出的數(shù)據(jù)庫。
按順序打開每一個表并檢查:
Autonumber字段是auto_increment。
每一個表有一個主鍵(一個或多個字段)(在Dreamcoder中,創(chuàng)建-新約束)。否則,你需要在連接的時候指定,不然所連接的表將不能更新。
字段默認是正確的。我們檢查與前端數(shù)據(jù)登入默認值的一致性。
是否允許Null值。
數(shù)據(jù)類型是否如預(yù)期。
有一個時間戳字段,默認為current_time(一般是表中的最后一個字段)。
步驟四——建立你的MySQL備份系統(tǒng)
打開MySQL管理器并備份你的MySQL數(shù)據(jù)庫。這將schema和數(shù)據(jù)保存到一個.sql文件。如果你想在另一個計算機上建立數(shù)據(jù)庫,那么在那臺機器上安裝一個MySQL服務(wù)器,然后將這個.sql文件的一個拷貝恢復(fù)到這個新服務(wù)器上。
步驟五——從前端鏈到MySQL
打開你的Access前端。如果你已經(jīng)鏈接到一個Access后臺,那么你不能使用這個已被鏈接的表管理器來改到一個ODBC數(shù)據(jù)源。所以刪除到Access后臺的鏈接,并通過ODBC鏈接到MySQL后臺。類似的,一旦鏈接到了ODBC數(shù)據(jù)源,那么這個已鏈接的表管理器就只提供ODBC數(shù)據(jù)源的選項。
在建立ODBC數(shù)據(jù)源時,在ODBC配置中——Advanced ——Flags1,勾上Return Matching Rows和Allow Big Results。
性能
到目前的觀察:
使用一個MySQL后臺的Access 97比使用相同后臺的Access 2007明顯快得多。
最初這個混合和列表記錄源使用記錄源查詢構(gòu)建器。由于某種原因,使用用戶創(chuàng)建的查詢來替代它們可以獲得速度上的顯著提高。
在現(xiàn)在的配置中,Access 2007比使用MySQL后臺的要快一點。
到http://dev.mysql.com/downloads/ 下載這個服務(wù)器、MySQL GUI工具和MySQL ODBC驅(qū)動。你可以選擇的服務(wù)器有:5.0, 5.1或6.0。然后安裝它們。
安裝過程中的注意事項:
你的防火墻應(yīng)該設(shè)置為允許通過3306端口連接。
將MySQL作為一個服務(wù)來運行(可以選擇命令行方式)。
MySQL安裝默認username/login = root和server = localhost。
MySQL提供了對存儲引擎/表類型的選擇——主要是MySAM和InnoDb。后者看起來更像是Access,它具有事務(wù)和外鍵,所以這篇文章中我們使用這種方式。
具有用戶和安全選項。不要忘了記錄所有的密碼。
還有要安裝Bullzip Access to MySQL和Dreamcoder為之后使用。
第二步——將表從Access移到MySQL
使用Bullzip將后臺數(shù)據(jù)表轉(zhuǎn)移到MySQL,或打開你的數(shù)據(jù)庫并通過ODBC將你的數(shù)據(jù)導(dǎo)出。
要注意的事項:
MySQL不能識別Access默認用于字段的函數(shù)(例如Date/Time字段中的Now()和Date()函數(shù)):它們可能被刪除或者表被拒絕。推薦你在轉(zhuǎn)移/導(dǎo)出之前刪除它們。
Access的autonumber字段與MySQL的auto_increment字段不一致。Bullzip在轉(zhuǎn)移時會進行轉(zhuǎn)換,而ODBC則不會。
Access數(shù)據(jù)類型會轉(zhuǎn)換為類似的MySQL數(shù)據(jù)類型。但是,在MySQL中范圍更大,你可能希望之后再改變它們。
Access的“ole object”變成了MySQL中的“blob”。因為一個OLE服務(wù)器問題,我們將blobs改為longtext。
步驟三——改變MySQL表(字段)
打開Dreamcoder或MySQL管理器(一個GUI工具)。如果你熟悉SQL Server,那么把這些看作是Enterprise或SQL server management studio express界面。
連接到這個轉(zhuǎn)移/導(dǎo)出的數(shù)據(jù)庫。
按順序打開每一個表并檢查:
Autonumber字段是auto_increment。
每一個表有一個主鍵(一個或多個字段)(在Dreamcoder中,創(chuàng)建-新約束)。否則,你需要在連接的時候指定,不然所連接的表將不能更新。
字段默認是正確的。我們檢查與前端數(shù)據(jù)登入默認值的一致性。
是否允許Null值。
數(shù)據(jù)類型是否如預(yù)期。
有一個時間戳字段,默認為current_time(一般是表中的最后一個字段)。
步驟四——建立你的MySQL備份系統(tǒng)
打開MySQL管理器并備份你的MySQL數(shù)據(jù)庫。這將schema和數(shù)據(jù)保存到一個.sql文件。如果你想在另一個計算機上建立數(shù)據(jù)庫,那么在那臺機器上安裝一個MySQL服務(wù)器,然后將這個.sql文件的一個拷貝恢復(fù)到這個新服務(wù)器上。
步驟五——從前端鏈到MySQL
打開你的Access前端。如果你已經(jīng)鏈接到一個Access后臺,那么你不能使用這個已被鏈接的表管理器來改到一個ODBC數(shù)據(jù)源。所以刪除到Access后臺的鏈接,并通過ODBC鏈接到MySQL后臺。類似的,一旦鏈接到了ODBC數(shù)據(jù)源,那么這個已鏈接的表管理器就只提供ODBC數(shù)據(jù)源的選項。
在建立ODBC數(shù)據(jù)源時,在ODBC配置中——Advanced ——Flags1,勾上Return Matching Rows和Allow Big Results。
性能
到目前的觀察:
使用一個MySQL后臺的Access 97比使用相同后臺的Access 2007明顯快得多。
最初這個混合和列表記錄源使用記錄源查詢構(gòu)建器。由于某種原因,使用用戶創(chuàng)建的查詢來替代它們可以獲得速度上的顯著提高。
在現(xiàn)在的配置中,Access 2007比使用MySQL后臺的要快一點。
相關(guān)文章
MySQL建立唯一索引實現(xiàn)插入重復(fù)自動更新
這篇文章給大家分享的是當(dāng)向數(shù)據(jù)插入數(shù)據(jù)時,判斷字段是不是存在,存在執(zhí)行更新操作,如果不存在就執(zhí)行插入操作的方法,有需要的朋友們可以參考借鑒。2016-09-09MySQL中大數(shù)據(jù)表增加字段的實現(xiàn)思路
最近遇到的一個問題,需要在一張將近1000萬數(shù)據(jù)量的表中添加加一個字段,但是直接添加會導(dǎo)致mysql 奔潰,所以需要利用其他的方法進行添加,這篇文章主要給大家介紹了MySQL中大數(shù)據(jù)表增加字段的實現(xiàn)思路,需要的朋友可以參考借鑒。2017-01-01navicat如何利用sql語句查詢表所有字段的字段名、類型及長度
Navicat使用了極好的圖形用戶界面(GUI),可以讓你用一種安全和更為容易的方式快速和容易地創(chuàng)建、組織、存取和共享信息,下面這篇文章主要給大家介紹了關(guān)于navicat如何利用sql語句查詢表所有字段的字段名、類型及長度的相關(guān)資料,需要的朋友可以參考下2023-05-05