utf8和utf8mb4的区别

    一、简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。 二、内容描述 那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字...阅读全文
    作者:绝缘体.. | 分类:android, ios, MySQL, 数据库, 移动开发 | 阅读: | 标签:, , , ,

    分布式自增id->snowflake算法的php实现版本

           在分布式系统中,需要生成全局UID的场合还是比较多的,twitter的snowflake解决了这种需求,实现也还是很简单的,除去配置信息,核心代码就是毫秒级时间41位+机器ID 10位+毫秒内序列12位。 twitter的分布式自增id算法snowflake,每秒能产生20w+的自增id,也适用于php。 <?php     2    class Idwork     3    {     4    const debug = 1;     5    static $workerId;  ...阅读全文
    作者:绝缘体.. | 分类:PHP, 编程语言 | 阅读: | 标签:, , , ,

    MySQL的语句执行顺序

    MySQL的语句执行顺序 MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操作,最后执行的是LIMIT操作。其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只是这些虚拟的表对用户来说是透明的,但是只有最后一个虚拟的表才会被作为结果返回。如果没有在语句中指定某一个子句,那么将会跳过相应的步骤。 下面我们来具体分析一下查询处理的每一个阶段 ...阅读全文
    作者:绝缘体.. | 分类:MySQL, 数据库 | 阅读: | 标签:, , , ,

    PHP计算两组经纬度坐标之间的距离

    定义π define('PI',3.1415926535898); define('EARTH_RADIUS',6378.137); 计算两组经纬度坐标 之间的距离: /** * 计算两组经纬度坐标 之间的距离 * params :lat1 纬度1; lng1 经度1; lat2 纬度2; lng2 经度2; len_type (1:m or 2:km); * return m or km */ function GetDistance($lat1, $lng1, $lat2, $lng2, $len_type = 1, $decimal = 2) { $radLat1 = $lat1 * PI / 180.0; ...阅读全文
    作者:绝缘体.. | 分类:PHP, 编程语言 | 阅读: | 标签:, , , ,

    CentOS 上部署达梦数据库

    下载达梦数据库安装包 访问达梦官网(http://www.dameng.com/)下载达梦数据库的安装包。选择适合你的操作系统的版本,然后解压到一个目录,例如 /opt。 wget http://download.dameng.com/DMInstall_x86_64_1020/dminstall.zip unzip dminstall.zip -d /opt/dm 创建达梦用户和组 为了安全起见,我们需要创建一个专门的用户和组来运行达梦数据库。 groupadd dmdb useradd -g dmdb dmd...阅读全文
    作者:绝缘体.. | 分类:ios, Linux, 操作系统, 移动开发 | 阅读: | 标签:, , , ,