MySQL 慢查询 —— 值类型与字段类型不一致的隐式转换

示例慢 SQL

1
SELECT * FROM task_engine_base_data WHERE outer_task_id = 1001871

场景上下文

  • 数据表结构现状

为减少阅读干扰,已去除与本案例无关的字段及索引定义

1
2
3
4
5
6
7
CREATE TABLE `task_engine_base_data` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `task_type_id` int(11) NOT NULL DEFAULT '0' COMMENT '任务类型ID',
  `outer_task_id` varchar(64) NOT NULL DEFAULT '' COMMENT '外部任务ID',
  PRIMARY KEY (`id`),
  KEY `idx_outer_id_type_id` (`outer_task_id`,`task_type_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='子任务规则表';

MySQL 全局配置 --secure-file-priv

一则问题

在执行导出 INFORMATION_SCHEMA.OPTIMIZER_TRACE 内容到本地文件时:

1
SELECT TRACE INTO DUMPFILE "optimizer_trace.txt" FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE;

报错提示如下:

1
(1290, 'The MySQL server is running with the --secure-file-priv option so it cannot execute this statement')

PHP Homebrew 版本问题 dyld: Library not load

环境

macOSHomebrewPHP 7.1.x

问题

执行 php 时报错:

1
2
3
4
dyld: Library not loaded: /usr/local/opt/openldap/lib/libldap-2.4.2.dylib
  Referenced from: /usr/local/opt/php@7.1/bin/php
  Reason: image not found
[1]    24650 abort      php

PHP 优秀资源汇集[2021.06.18更新]

以下是我整理好的 PHP 资源,各位看官拿去用,不用再自己找了。

GitHub 上稳定更新,觉得不错请点个 Star ❤️

如转载分享,请保留出处,谢谢 😆

原文地址: https://shockerli.net/post/php-awesome

GitHub: https://github.com/shockerli/php-awesome

Go 语言规范 - 编码风格(2020)

当前版本: v1.0.20201106

GitHub: shockerli/go-code-guide

命名规则

  • 站在调用者的角度,包不是给你自己用的
  • 简洁、且见名知义
  • 采用通用、大众熟知的缩写命名。比如buf而不是bufio
  • 如果缩写的名字会产生歧义,则放弃或换个

文件名

整个应用或包的主入口文件应当是 main.go,或与应用名称简写相同。

比如:spiker 包的主入口文件是 spiker.go,应用的主入口文件是 main.go

包名

  • 包名与目录名一致

    如果一个目录下同时出现多个 package,则编译失败:

    1
    
    found packages pkg (a.go) and pb (b.go) in XXX
    
  • 大多数使用命名导入的情况下,不需要重命名

    少让调用者去起别名,除非名字太烂

  • 全部小写,没有下划线、大写。错误示例MyPackagemy_packagemyPackage

  • 不用复数。例如net/url,而不是net/urls

  • 不用信息量不足的名字。错误示例commonlibutil