MySQL中的FEDERATED引擎

来源:http://www.cnblogs.com/chenkaideng/archive/2016/01/21/5147540.html
-Advertisement-
Play Games

首先說明》 FEDERATED存儲引擎訪問在遠程資料庫的表中的數據,而不是本地的表。這個特性給某些開發應用帶來了便利,你可以直接在本地構建一個federated表來連接遠程數據表,配置好了之後本地表的數據可以直接跟遠程數據表同步。實際上這個引擎裡面是不真實存放數據的,所需要的數據都是連接到其他MyS...


首先說明》     FEDERATED存儲引擎訪問在遠程資料庫的表中的數據,而不是本地的表。這個特性給某些開發應用帶來了便利,你可以直接在本地構建一個federated表來連接遠程數據表,配置好了之後本地表的數據可以直接跟遠程數據表同步。實際上這個引擎裡面是不真實存放數據的,所需要的數據都是連接到其他MySQL伺服器上。   使用操作》 首先修正mysql的my.ini文件,開啟FEDERATED引擎     接著,在建表的時候,添加如下sql語句即可 ENGINE=Federated 和 CONNECTION='mysql://[username]:[password]@192.168.84.73:3306/kmsong/km_tbl_companycffsong';   操作其上步驟,新建出來的表就是鏈接到了192.168.84.73:3306/kmsong/km_tbl_companycffsong這個表,本身只是一個空殼,只能進行數據的增刪改查操作,不能改變鏈接到的表的表結構,如果改變自身的表結構會出現意想不到的錯誤。     一些註意事項》

1. 對本地虛擬表的結構修改,並不會修改遠程表的結構 
2.truncate 命令,會清除遠程表數據 
3.  drop命令只會刪除虛擬表,並不會刪除遠程表

4.  不支持 alter table 命令 

目前使用federated 最大的缺點: 
1. select count(*), select * from limit M, N 等語句執行效率非常低,數據量較大時存在很嚴重的問題,但是按主鍵或索引列查詢,則很快,如以下查詢就非常慢(假設 id 為主索引) 
select id from db.tablea where id >100 limit 10 ;

而以下查詢就很快: 
select id from db.tablea where id >100 and id<150

 

2.  如果虛擬虛擬表中欄位未建立索引,而實體表中為此欄位建立了索引,此種情況下,性能也相當差。但是當給虛擬表建立索引後,性能恢復正常。

 

3. 類似 where name like "str%" limit 1 的查詢,即使在 name 列上創建了索引,也會導致查詢過慢,是因為

federated引擎會將所有滿足條件的記錄讀取到本,再進行 limit 處理。

 

這幾個問題已經嚴重影響了federated 在實際環境中的應用,所以這個引擎很冷門,不過在一些特定環境還是能用用的。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 關於繼承好吧,說到底JS還是原型繼承的,而不是類繼承。所以在這個上面要經常用到prototype去繼承另一個對象。所有的構造器函數都約定命名為首字母大寫的形式,並且不以首字母大寫的形式拼寫任何其它的東西。當然一個更好的備選方案是根本就不用new。(太棒了,你說什麼就是什麼咯,我就當JS沒這個東西了)...
  • 一提到非同步交互大家就會說ajax,仿佛ajax這個技術已經成為了非同步交互的代名詞.那下麵將研究ajax的核心對象!利用ajax實現非同步交互無非4步:1.創建ajax核心對象2.與伺服器建立連接3.向伺服器發送請求4.接收伺服器響應的數據看似神秘的非同步交互當明確這4步後,也許在大家腦海裡已經有了初步的...
  • 由於本人也是邊學邊寫,因此整理的比較亂,下麵放出我例子的完整代碼,方便大家交流測試,如有問題歡迎評論首先,表格採用的是BootStrap樣式編輯的,主要使用的是angularjs,為了方便也有jQuery的方法,在測試時需自行引入bootstrap,angularjs和jq的文件。 整體代碼預覽:H...
  • 在ng-repeat中使用ng-model時會有許多問,有的人碰到無法獲取綁定的數據內容,有的人遇到改動綁定的數據內容時所有迴圈生成的內容一起改變。上面的問題我在開發時也遇到過,但是解決後我卻怎麼也還原不了那種情況了,只能先簡單介紹一下無法獲取的情景該如何解決。例如:html: ...
  • 前言 近來由於工作需要,需要提取某些城市的經緯度坐標,稍微搜索了一下,發現百度地圖和高德地圖都提供了相關的函數和例子.那麼剩餘的工作也就比較簡單了,保存坐標,然後轉換為WGS坐標,這樣才能和現有的GPS數據以及地圖匹配.主要問題和解決方法本地保存文件跨瀏覽器支持 由於安全的原因,JavaScript...
  • 寫網頁的時候很多情況需要對圖片進行操作,如何在不進行專業的美工裁切操作的情況下而讓自己的素材度達到最大的滿意度呢,這是一個問題,對於懶得開ps切圖的我,通常會直接在網路上download一張圖片,直接拖到html里,這就需要對圖片的css樣式進行一些調整,鑒於我總是記不住一些樣式屬性而無法讓圖片.....
  • 1 2 3 4 5 6 7 8 27 28 dian29 30 今天開始學習 dojo 目的是學習 arc gis api for jsrequire 方法:引入組件和模塊on 方法:綁定...
  • 。。。。
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...