2015年5月26日 星期二

[野人獻曝] 簡介 Orchestrate.io

Orchestrate.io 是一個把 NoSQL 和搜尋服務結合在一起的 DaaS(Database as a Service)。

對於想要用搜尋服務也想同時使用 NoSQL 服務,但是資源卻不夠多的人,他的免費方案讓你可以輕鬆使用,所以我非常推薦。

使用方法很簡單,初使用者可以直接看範例 Code,瞭解最基本的用法後就可以開始寫 Code 了。

2015年5月18日 星期一

[野人獻曝] 千萬不要在 MySQL 內有用到 auto_increment 的表下 INSERT ... ON DUPLICATE

原因很可怕,所以不要問!

最近開了一個有 auto_increment 欄位的資料表,
並且將該表中幾個欄位設為唯一值索引,
然後就下了以下的SQL塞資料:
INSERT INTO EXAMPLE (a, b, c) VALUES ('1', '2', '3') ON DUPLICATE KEY UPDATE d = '4'
結果發現 auto_increment 欄位中的值越變越大,
不過一千多筆的資料,流水號卻取到七萬多。

看了 MySQL 的說明
才發現下 INSERT ... ON DUPLICATE KEY 時碰到 auto_increment 欄位時,
流水號也會持續增加(只有 Update 時才不會增加),
所以下一次真的有新增資料時,流水號會跳得老遠去......

當下只好照 StackOverflow 上的一篇回覆修改程式碼解決這個不算大卻有點微妙的問題......