TP5 生成資料表字段快取和路由快取

2021-08-30 13:33:44 字數 904 閱讀 3719

版本要求v5.0.1以上

通過生成資料表字段資訊快取,提公升資料庫查詢的效能,避免多餘的查詢。

多餘的查詢語句可以通過tp5自帶的日誌找到,多餘的語句為:

每次有查詢語句時,tp5框架都會執行show columns語句,動態查詢資料庫字段,這時候就需要生成字段資訊快取,減少效能消耗。

解決方法很簡單:在命令列中輸入如下命令即可(前提是php需要配置系統環境變數)

php think optimize:schema
返回succeed標示成功,具體如下圖:

快取可以在runtime/schema/目錄下看到。如圖:

通過這樣處理,資料搜尋將不再有多餘的語句,可以提高專案效能。

路由快取同樣很簡單,和資料表字段快取一樣,在命令列中輸入如下命令即可:

php think optimize:route
生成的檔案如下:

大部分系統其實最大的瓶頸還是在於對資料庫的讀上面,如果想要優化效能,一定要減少資料庫的讀操作。

其實在中大型的專案裡面,它的快取架構都有很多層。很多的http請求,真正能穿透這些快取層到達資料庫層,做資料查詢的這些請求數量是很少的。

Django ORM框架 生成資料表

databases 需要注意的是,django連線sql需要安裝mysqlclient模組。進入虛擬環境,輸入命令pipenv install mysqlclient。我們先使用django自帶的sqlite3資料庫來學習。不需要修改配置檔案。資料庫 需要手動建立資料庫 資料表 與orm中的模型類 ...

根據Django Model動態生成資料表的方法

當定義好django model後,一般可以在初始化呼叫syncdb方法來自動在資料庫裡面生成相應的表。那麼如果想在後續階段想根據根據django model動態生成資料表,該怎麼辦呢?要生成資料庫表,就得先根據model的定義先生成sql語句,然後在資料庫裡面執行。並且由於要支援不同的資料庫,所生...

tp5匯出生成pdf

準備工作 首先查詢了相關的類庫,有fpdf,zendpdf,tcpdf等等。首先看了下先選擇了fpdf,可以說除了中文字元以外沒有什麼問題,中文亂碼而且看了下最新版本沒有很好的解決方案,所以只能放棄。後來就專門找支援中文的發現了tcpdf,開始也是中文字型支援不是很好,但是發現了有人做了中文的語言包...