#每天一个知识点# 最近在优化一批复杂 SQL,从原来 8 秒优化到 100ms 内,总结几个 MySQL 实战心得:
小表驱动大表,关联顺序直接影响执行计划
联合索引遵循:等值条件在前,排序字段在后
小数据量下优化器可能不走索引,属于正常现象
想要 ORDER BY 不 filesort,直接把排序字段放进索引
多表关联尽量用覆盖索引,避免回表
日常 CRUD 看不出差距,一到大报表、分页查询,索引好坏直接决定系统卡不卡。
#每天一个知识点# 在Go语言中,赋值操作要求左侧是一个可寻址的变量或者映射的索引。
这个问题通常出现在以下几种情况:
1. 试图给一个非可寻址的值(比如字符串字面量、常量、函数返回值等)赋值。
2. 试图给一个映射的索引赋值,但使用了错误的语法。
错误示例:
s := "hello"
for i := 0; i < len(s); i++ {
s[i] = 'a' // 错误:无法给字符串字面量赋值
}
正确示例:
s := []rune("hello") // 将字符串转换为可寻址的rune切片
for i := 0; i < len(s); i++ {
s[i] = 'a' // 正确:给rune切片的元素赋值
}
这个问题通常出现在以下几种情况:
1. 试图给一个非可寻址的值(比如字符串字面量、常量、函数返回值等)赋值。
2. 试图给一个映射的索引赋值,但使用了错误的语法。
错误示例:
s := "hello"
for i := 0; i < len(s); i++ {
s[i] = 'a' // 错误:无法给字符串字面量赋值
}
正确示例:
s := []rune("hello") // 将字符串转换为可寻址的rune切片
for i := 0; i < len(s); i++ {
s[i] = 'a' // 正确:给rune切片的元素赋值
}
展开
评论
点赞