Mysql ANALYZE TABLE的使用

ANALYZE TABLE的使用

简介:数据库使用information_schema查询表数据,部分有一条数据统计值为零的处理方式。

一、错误分析

(一)统计信息未更新

  1. MySQL 的 TABLE_ROWS 列的值是基于存储引擎的统计信息,这些统计信息可能并不总是精确的,并且在某些情况下可能会过时,尤其是在频繁进行插入、更新和删除操作后,存储引擎可能没有及时更新这些信息,导致 TABLE_ROWS 显示不准确。

(二)解决方法

  1. 更新统计信息
    对于 InnoDB 存储引擎,可以使用 ANALYZE TABLE 语句来强制更新表的统计信息。例如,如果表名为 your_table,所在的数据库名为 your_database,可以执行以下语句:

ANALYZE TABLE your_database.your_table;

  1. 完整代码如下
DELIMITER //
CREATE PROCEDURE insert_table_row_counts()
BEGIN
    -- 更新统计信息
    SET @table_list = (SELECT GROUP_CONCAT(CONCAT(table_schema, '.', table_name) SEPARATOR ',') 
                     FROM information_schema.tables 
                     WHERE table_schema NOT IN ('information_schema'
### 设置 STM32H743 交叉编译环境 #### 配置开发主机环境 为了能够顺利地为STM32H743微控制器编写并编译程序,需要先安装必要的工具链和支持库。对于Linux平台而言,可以利用预构建好的工具包来简化这一过程。 针对特定架构的环境变量配置文件位于`/opt/st/stm32mp1/3.1-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi`[^1]。此文件包含了设定目标平台所需的各种参数定义,比如CROSS_COMPILE宏等重要信息。通过将这些设置加入到当前shell会话中,可以使后续命令识别正确的编译器和其他辅助工具的位置。 ```bash source /opt/st/stm32mp1/3.1-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi ``` 上述指令执行之后,用户的PATH环境变量将会被更新以包含交叉编译所需的二进制文件路径;同时也会设置其他一些有用的环境变量以便于链接脚本及其他资源文件能被正确找到。 #### 安装依赖软件包 除了基本的操作系统外,还需要额外安装几个支持性的组件才能完成整个工作流程: * GCC ARM Embedded Toolchain - 提供了完整的GNU编译套件版本,专门优化过适用于ARM Cortex-M系列MCU。 * OpenOCD - 调试工具,配合OpenOCD一起使用来进行断点跟踪等功能。 可以通过系统的包管理器获取以上提到的应用程序及其依赖关系。例如,在基于Debian或Ubuntu发行版上运行如下命令即可满足需求: ```bash sudo apt-get install gcc-arm-none-eabi openocd gdb-multiarch ``` #### 获取项目模板与示例代码 官方提供了丰富的例子工程帮助初学者快速入门。可以从ST官方网站下载最新的HAL库和CubeMX生成的基础框架作为起点。此外还有许多开源社区贡献的作品可供学习借鉴。 #### 编写Makefile 创建一个简单的Makefile可以帮助自动化项目的构建过程。这里给出一段基础结构示意代码片段: ```makefile # Makefile for building an application on the STM32 platform. TARGET = main CC = arm-none-eabi-gcc LDSCRIPT = $(wildcard *.ld) OBJS = $(patsubst %.c,%.o,$(wildcard src/*.c)) $(TARGET).elf: $(OBJS) @echo "Linking $@" $(CC) -T $(LDSCRIPT) -o $@ $^ clean: rm -f *.o *~ core .depend .*swp tags TAGS $(TARGET).elf ``` 这段Makefile假定所有的源码都存放在名为`src`子目录下,并且存在至少一个`.ld`结尾的链接描述文件用来指导最终可执行映像地址布局安排。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值