MySQL跨表数据同步优化

应用场景描述

有两张设备在线状态表,其中一张记录心跳时间戳(tb1),另一张做异地数据同步(tb2).

原始方案

> 查询tb1所有数据,循环(select all)
  >> 判断该条数据对应的设备是否依然在线
    >>> 若在线
      >>>> 查找tb2中是否存在该设备ID(select limit 1)
        >>>>> 若存在,更新(在线:true, update 1)
        >>>>> 若不存在,插入(在线:true, update 1)
    >>> 若不在线
      >>>> 查找tb2中是否存在该设备ID(select limit 1)
              >>>>> 若存在,更新(在线:false, insert 1)
              >>>>> 若不存在,插入(在线:false, insert 1)
      >>>> 删除tb1中已离线的记录(delete)
阅读更多

Mac OS X 配置Ruby On Rails环境

环境为 OS X 10.8 + RVM Ruby + Mysql 5.5 + MAMP 2.1.4

Mac OS X 80 端口莫名占用解决:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
如果哪天你想让它开机启动了,则将 unload 改为 load 即可:
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

阅读更多