答:MyISAM 是历史上常用的非事务引擎,通常采用表级锁,索引指向数据文件记录。它支持一些全文、压缩和维护能力,现代需要事务、外键或崩溃恢复的业务通常评估 InnoDB。
答:经典 MySQL 协议的默认 TCP 端口是 3306。实际端口由服务配置与容器映射决定。本地客户端也可能走 Unix 套接字。
答:存储过程是保存在数据库中的可调用程序,可通过 CALL 执行,支持参数、语句块和控制流。它的权限上下文、结果输出和事务范围需要在设计时说清。
答:游标在存储程序中保存结果遍历状态,通过 FETCH 逐行取数据。MySQL 游标只读、只能前进,服务器可以选择是否复制结果,不能从语法推断它只占一行内存。
答:在存储程序块中先声明变量,再声明游标,之后声明异常处理器。运行时 OPEN,循环 FETCH,检测结束后 CLOSE。NOT FOUND 处理器用来识别取完结果。
答:并发读可能看到未提交值、同一行变化或满足条件的行集合变化,写入还可能丢失更新、发生死锁或破坏跨行规则。隔离级别只解决其保证范围内的问题。
答:用 transaction_isolation 查看会话设置。MySQL 支持四个标准级别,InnoDB 常见默认是 REPEATABLE READ。可按需要设置下一事务或会话默认,生效范围要明确。
答:自增整数通常较短且插入更集中,UUID 可由多个节点独立生成。InnoDB 二级索引通常携带主键,因此键宽与写入分布会影响整张表。
答:先确认是哪台实例和哪个进程占 CPU,再对齐流量、发布与慢请求时间线。查语句摘要、调用频率和扫描量,分清少数重查询与大量小查询。
答:GTID 给复制事务一个全局标识,MySQL 中常见形式是来源 UUID 加事务序号。副本可根据已执行集合判断缺哪些事务,使用自动定位能减少人工维护日志文件和偏移。