在MySQL中实施info()函数

执行表扫描操作之前,将调用info()函数,以便为优化程序提供额外信息。

优化程序所需的信息不是通过返回值给定的,你需填充存储引擎类的特定属性,当info()调用返回后,优化程序将读取存储引擎类。

除了供优化程序使用外,在调用info()函数期间,很多值集合还将用于SHOW TABLE STATUS语句。

在sql/handler.h中列出了完整的公共属性,下面给出了一些常见的属性:

ulonglong data_file_length;
/* Length off data file */
ulonglong max_data_file_length;
/* Length off data file */
ulonglong index_file_length;
ulonglong max_index_file_length;
ulonglong delete_length;
/* Free bytes */
ulonglong auto_increment_value;
ha_rows records;
/* Records in table */
ha_rows deleted;
/* Deleted records */
ulong raid_chunksize;
ulong mean_rec_length;
/* physical reclength */
time_t create_time;
/* When table was created */
time_t check_time;
time_t update_time;

对于表扫描,最重要的属性是“records”,它指明了表中的记录数。当存储引擎指明表中有0或1行时,或有2行以上时,在这两种情况下,优化程序的执行方式不同。因此,当你在执行表扫描之前不清楚表中有多少行时,应返回大于等于2的值,这很重要(例如,数据是在外部填充的)。

时间: 2024-12-28 13:22:14

在MySQL中实施info()函数的相关文章

如何掌握MySQL中实施info()函数

执行表扫描操作之前,将调用info()函数,以便为优化程序提供额外信息. 优化程序所需的信息不是通过返回值给定的,你需填充存储引擎类的特定属性,当info()调用返回后,优化程序将读取存储引擎类. 除了供优化程序使用外,在调用info()函数期间,很多值集合还将用于SHOW TABLE STATUS语句. 在sql/handler.h中列出了完整的公共属性,下面给出了一些常见的属性: ulonglong data_file_length; /* Length off data file */ u

MySQL中的SUM函数使用教程

  这篇文章主要介绍了MySQL中的SUM函数使用教程,是MySQL入门学习中的基础知识,需要的朋友可以参考下 MySQL的SUM函数是用来找出记录中各种的字段的总和. 要了解SUM函数考虑EMPLOYEE_TBL表具有以下记录: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 mysql> SELECT * FROM employee_tbl; +------+------+------------+--------------------+ | id | name | wor

MySQL中的SQRT函数的使用方法

  这篇文章主要介绍了详解MySQL中的SQRT函数的使用方法,是MySQL入门学习中的基础知识,需要的朋友可以参考下 MySQL的SQRT函数是用来计算出任何数量的平方根.可以使用SELECT语句找出方检定根的任意数如下: ? 1 2 3 4 5 6 7 mysql> select SQRT(16); +----------+ | SQRT(16) | +----------+ | 4.000000 | +----------+ 1 row in set (0.00 sec) 所看到的浮点值,

MySQL中的RAND()函数使用详解

  这篇文章主要介绍了MySQL中的RAND()函数使用详解,是MySQL入门学习中的基础知识,需要的朋友可以参考下 MySQL RAND()函数调用可以在0和1之间产生一个随机数: ? 1 2 3 4 5 6 7 mysql> SELECT RAND( ), RAND( ), RAND( ); +------------------+-----------------+------------------+ | RAND( ) | RAND( ) | RAND( ) | +----------

MySQL中的CONCAT函数使用教程

  这篇文章主要介绍了MySQL中的CONCAT函数使用教程,是Python入门学习中的基础知识,需要的朋友可以参考下 使用MySQL CONCAT()函数将两个字符串连接起来,形成一个单一的字符串.试试下面的例子: ? 1 2 3 4 5 6 7 mysql> SELECT CONCAT('FIRST ', 'SECOND'); +----------------------------+ | CONCAT('FIRST ', 'SECOND') | +--------------------

PHP程序调用MYSQL中字符串加密函数方法总结

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写.PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用.PHP 独特的语法混合了 C.Java.Perl 以及 PH

在服务器的mysql中创建自定义函数出错

问题描述 在服务器的mysql中创建自定义函数出错 我的一台机器,连接服务器上mysql,创建自定义函数报错[Err] 1418 - This function has none of DETERMINISTIC NO SQL or READS SQL DATA in its declaration and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators

MySQL中的常用函数_Mysql

在MySQL中,函数不仅可以出现在select语句及其子句中,而且还可以出现在update.delete语句中. 常用的函数有: 1. 字符串函数:主要用于处理字符串. 2. 数值函数:主要用于处理数字. 3. 日期和时间函数:主要用于处理日期和事件. 4. 系统信息函数:获取系统信息. 1. 使用字符串函数: 虽然每种数据库都支持SQL,但是每种数据库拥有各自所支持的函数. 1.1 合并字符串函数concat() 和 concat_ws(): 在MySQL中可以通过函数concat()和con

MySQL中的CONCAT函数使用教程_Mysql

使用MySQL CONCAT()函数将两个字符串连接起来,形成一个单一的字符串.试试下面的例子: mysql> SELECT CONCAT('FIRST ', 'SECOND'); +----------------------------+ | CONCAT('FIRST ', 'SECOND') | +----------------------------+ | FIRST SECOND | +----------------------------+ 1 row in set (0.00