MySQL 中各種 JOIN 的差別

MySQL 中的 JOIN 語法,可以讓我們將多張表關聯起來。但就跟斯斯有三種一樣,JOIN 也有三種,分別是INNER JOIN (可以簡寫成 JOIN)LEFT JOIN (有些資料庫會是 LEFT OUTER JOIN)RIGHT JOIN (有些資料庫會是 RIGHT OUTE...

避免 Laravel ORM 的 N+1 問題

目前大多框架都會使用 ORM (Object Relational Mapping,物件關係對映) 的方式與資料庫進行互動。ORM 的用途,是將關聯式資料庫的資料表,對應到應用程式中的物件。對資料庫的操作都會使用複雜的物件包裝好並模組化...

簡單介紹 Laravel 的 DB Transactions

MySQL 資料庫,PHP 的好夥伴。在現在的版本中,MySQL 資料庫基本上都是使用 innoDB 作為預設的資料庫引擎。innoDB 與之前 MyISAM 相比,支援了 ACID 相容的交易(Transaction)功能。所謂的交易,是資料庫管理系統執...

公司網站突然變慢,資料庫直接滿載!淺談資料表的 EXPLAIN 語法與索引

今天上班途中,業務部門向 RD 部門回報公司網站突然掛掉了。經主管告知,資料庫 Server 的 CPU 使用率達到 100%,所以應該是有查詢過程卡住。請 MIS 協助開啟資料庫的 Slow Query Log 之後,發現有一個查詢語句執行...

COSCUP Why should we move to MySQL 8.0筆記

講者彭立勛。議程連結。 引言這是一篇研討會的筆記,再加上個人的理解和實驗。對一些東西不太了解,所以有些地方會一筆帶過。解決的BUG1. Bug #199 Innodb autoincrement stats los on restart從bug編號就能看出這個...

將部落格的 Laravel 版本從 6 升級至 7,當中所遇到的問題

花了點時間,將部落格的 Laravel 版本升級至 7。原本想說反正 8 也快出來了, 不如直接 6 跳 8(錯誤示範,官方建議是一版一版慢慢升級),省得升級兩次,麻煩。不過 Laravel 新版本推出的時候,可能會有套件突然無...