標籤: MySQL

原來計數器可以這樣設計,簡單介紹 Slotted Counter Pattern

某天在上班途中滑推特的時候,看到一個很有趣的資料庫設計 Tips。這是很常見的計數器 (counter) 更新操作,當用戶觸發某些條件後,就將後端資料庫記錄的數量加 1。推文中的查詢語句以網頁瀏覽數當作例子,當用戶訪問...

更改存放部落格圖片的 S3 Bucket 名稱

最近沒事想找事做,想更改用來放置部落格圖片 S3 bucket 的名稱,若要問為什麼的話…原來部落格的網域是使用 recodeblog.com,後來覺得不夠帥改成了 docfunc.com,雖然部落格網域已更改,但卻沒有更改原本用來放置文...

MySQL 中各種 JOIN 的差別

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

避免 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 新版本推出的時候,可能會有套件突然無法...