• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 数据库 >> MySQL >> 详细内容
 

推荐文章

  • 《MySQL管理员指南》之一----MySQL安全性指南
  • 实例讲解MYSQL数据库的查询优化技术
  • MySQL查询优化技术讲座
 
 

热点文章

  • 支持中文的MySQL 5.1+ 全文检索分词插件
  • MySQL数据导入导出方法与工具mysqlimport
  • 《MySQL管理员指南》之一----MySQL安全性指南
  • MySql管理的一点心得&MYSQL命令行模式
  • 修改MySQL的默认密码
  • 使用 SQL Server 2005中的 CLR 集成
  • 使用MySQL全文检索
  • Microsoft SQL Server 2005 中的 XML 支持
  • 简介Mysql中的临时表使用方法
  • MySQL查询优化系列讲座之查询优化器
  • 使用Excel分析MySQL数据
  • MySQL的常见错误的解决方法(英文)
 
 

相关文章

  • InnoDB 中文参考手册:15 故障检测与修复
  • InnoDB 中文参考手册:14 InnoDB 表的限制
  • InnoDB 中文参考手册:13 出错处理
  • InnoDB 中文参考手册:12 文件空间管理和磁盘 I/O
  • InnoDB 中文参考手册:10 multiversioning 的实现
  • InnoDB 中文参考手册:11 表和索引结构
  • InnoDB 中文参考手册:9 性能调整技巧(Performance tu..
  • InnoDB 中文参考手册:8 InnoDB 事务模式与锁定
  • InnoDB 中文参考手册:7 将 InnoDB 数据库移动到另一台..
  • InnoDB 中文参考手册:6 备份和恢复 InnoDB 数据库
  • InnoDB 中文参考手册:4 建立 InnoDB 表
  • InnoDB 中文参考手册:5 添加与移除 InnoDB 数据和日志..
 
 

百度搜索

 
 

InnoDB 中文参考手册:16 InnoDB version history 和其他章节

  • 阅览次数:
  • 文章来源: CP整理
  • 原文作者:
  • 整理日期: 2008-07-28
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

下载完整电子书:InnoDB 中文参考手册

MySQL/InnoDB-4.1.0, January xx, 2003

  • InnoDB now supports up to 64 GB of buffer pool memory in a Windows 32-bit Intel computer. This is possible because InnoDB can use the AWE extension of Windows to address memory over the 4 GB limit of a 32-bit process. A new startup variable innodb_buffer_pool_awe_mem_mb enables AWE and sets the size of the buffer pool in megabytes.
  • Reduced the size of buffer headers and the lock table. InnoDB uses 2 % less memory.

 

MySQL/InnoDB-3.23.55, February x, 2003

  • Fixed a bug: if the combined size of InnoDB log files was >= 2 GB in a 32-bit computer, InnoDB would write log in a wrong position. That could cause crash recovery and InnoDB Hot Backup to fail in log scan.
  • Fixed a bug: index cursor restoration could theoretically fail.
  • Fixed a bug: an assertion in btr0sea.c, in function btr_search_info_update_slow could theoretically fail in a race of 3 threads.

 

MySQL/InnoDB-4.0.9, February x, 2003

  • Removed the warning message: 'InnoDB: Out of memory in additional memory pool.'
  • Fixed a bug: if the combined size of InnoDB log files was >= 2 GB in a 32-bit computer, InnoDB would write log in a wrong position. That could cause crash recovery and InnoDB Hot Backup to fail.
  • Fixed a bug: index cursor restoration could theoretically fail.

 

MySQL/InnoDB-4.0.8, January 7, 2003

  • InnoDB now supports also FOREIGN KEY (...) REFERENCES ...(...) [ON UPDATE CASCADE | ON UPDATE SET NULL | ON UPDATE RESTRICT | ON UPDATE NO ACTION].
  • Tables and indexes now reserve 4 % less space in the tablespace. Also existing tables reserve less space. By upgrading to 4.0.8 you will see more free space in "InnoDB free" in SHOW TABLE STATUS.
  • Fixed bugs: updating the PRIMARY KEY of a row would generate a foreign key error on all FOREIGN KEYs which referenced secondary keys of the row to be updated. Also, if a referencing FOREIGN KEY constraint only referenced the first columns in an index, and there were more columns in that index, updating the additional columns generated a foreign key error. These bug fixes will only be backported to 3.23 if users find this a big problem.
  • Fixed a bug: if an index contains some column twice, and that column is updated, the table will become corrupt. From now on InnoDB prevents creation of such indexes.
  • Fixed a bug: removed superfluous error 149 and 150 printouts from the .err log when a locking SELECT caused a deadlock or a lock wait timeout.
  • Fixed a bug: an assertion in btr0sea.c, in function btr_search_info_update_slow could theoretically fail in a race of 3 threads.
  • Fixed a bug: one could not switch a session transaction isolation level back to REPEATABLE READ after setting it to something else.

 

MySQL/InnoDB-4.0.7, December 26, 2002

  • InnoDB in 4.0.7 is essentially the same as in 4.0.6.

 

MySQL/InnoDB-4.0.6, December 19, 2002

  • Since innodb_log_arch_dir has no relevance under MySQL, there is no need to specify it any more in my.cnf.
  • LOAD DATA INFILE in AUTOCOMMIT=1 mode no longer does implicit commits for each 1 MB of written binlog.
  • Fixed a bug introduced in 4.0.4: LOCK TABLES ... READ LOCAL should not set row locks on the rows read. This caused deadlocks and lock wait timeouts in mysqldump.
  • Fixed two bugs introduced in 4.0.4: in AUTO_INCREMENT, REPLACE could cause the counter to be left 1 too low. A deadlock or a lock wait timeout could cause the same problem.
  • Fixed a bug: TRUNCATE on a TEMPORARY table crashed InnoDB.
  • Fixed a bug introduced in 4.0.5: if binlogging was not switched on, INSERT INTO ... SELECT ... or CREATE TABLE ... SELECT ... could cause InnoDB to hang on a semaphore created in btr0sea.c, line 128. Workaround: switch binlogging on.
  • Fixed a bug: in replication issuing SLAVE STOP in the middle of a multi-statement transaction could cause that SLAVE START would only perform part of the transaction. A similar error could occur if the slave crashed and was restarted.

 

MySQL/InnoDB-3.23.54, December 12, 2002

  • Fixed a bug: the InnoDB range estimator greatly exaggerated the size of a short index range if the paths to the endpoints of the range in the index tree happened to branch already in the root. This could cause unnecessary table scans in SQL queries.
  • Fixed a bug: ORDER BY could fail if you had not created a primary key to a table, but had defined several indexes of which at least one was a UNIQUE index with all its columns declared as NOT NULL.
  • Fixed a bug: a lock wait timeout in connection with ON DELETE CASCADE could cause corruption in indexes.
  • Fixed a bug: if a SELECT was done with a unique key from a primary index, and the search matched to a delete-marked record, InnoDB could erroneously return the NEXT record.
  • Fixed a bug introduced in 3.23.53: LOCK TABLES ... READ LOCAL should not set row locks on the rows read. This caused deadlocks and lock wait timeouts in mysqldump.
  • Fixed a bug: if an index contains some column twice, and that column is updated, the table will become corrupt. From now on InnoDB prevents creation of such indexes.
  • An outstanding bug: in replication issuing SLAVE STOP in the middle of a multi-statement transaction can cause that SLAVE START will only perform part of the transaction.

 

MySQL/InnoDB-4.0.5, November 18, 2002

  • InnoDB now supports also transaction isolation levels READ COMMITTED and READ UNCOMMITTED. READ COMMITTED more closely emulates Oracle and makes porting of applications from Oracle to MySQL easier.
  • Deadlock resolution is now selective: we try to pick as victims transactions with less modified or inserted rows.
  • FOREIGN KEY definitions are now aware of the lower_case_table_names setting in my.cnf.
  • SHOW CREATE TABLE does not output the database name to a FOREIGN KEY definition if the referred table is in the same database as the table.
  • InnoDB does a consistency check to most index pages before writing them to a data file.
  • If you set innodb_force_recovery > 0, InnoDB tries to jump over corrupt index records and pages when doing SELECT * FROM table. This helps in dumping.
  • InnoDB now again uses asynchronous unbuffered i/o in Windows 2000 and XP, but not in NT, 95/98/ME.
  • Fixed a bug: the InnoDB range estimator greatly exaggerated the size of a short index range if the paths to the endpoints of the range in the index tree happened to branch already in the root. This could cause unnecessary table scans in SQL queries. The fix will also be backported to 3.23.54.
  • Fixed a bug present in 3.23.52, 4.0.3, 4.0.4: InnoDB startup could take very long or even crash on some Win 95/98/ME computers.
  • Fixed a bug: the AUTO-INC lock was held to the end of the transaction if it was granted after a lock wait. This could cause unnecessary deadlocks.
  • Fixed a bug: if SHOW INNODB STATUS, innodb_monitor, or innodb_lock_monitor had to print several hundred transactions in one report, and the output became truncated, InnoDB would hang, printing to the error log many waits for a mutex created at srv0srv.c, line 1621.
  • Fixed a bug: SHOW INNODB STATUS on Unix always reported average file read size as 0 bytes.
  • Fixed a potential bug in 4.0.4: InnoDB now does ORDER BY ... DESC like MyISAM.
  • Fixed a bug: DROP TABLE could cause crash or a hang if there was a rollback concurrently running on the table. The fix will only be backported to 3.23 if this appears a real problem for users.
  • Fixed a bug: ORDER BY could fail if you had not created a primary key to a table, but had defined several indexes of which at least one was a UNIQUE index with all its columns declared as NOT NULL.
  • Fixed a bug: a lock wait timeout in connection with ON DELETE CASCADE could cause corruption in indexes.
  • Fixed a bug: if a SELECT was done with a unique key from a primary index, and the search matched to a delete-marked record, InnoDB could erroneously return the NEXT record.

 

MySQL/InnoDB-3.23.53, October 14, 2002

  • We again use unbuffered disk i/o to data files in Windows. Win XP and Win 2000 read performance seems to be very poor with normal i/o.
  • Tuned range estimator so that index range scans are preferred over full index scans.
  • Allow dropping and creating a table even if innodb_force_recovery is set. One can use this to drop a table which would cause a crash in rollback or purge, or if a failed table import causes a runaway rollback in recovery.
  • Fixed a bug present in 3.23.52, 4.0.3, 4.0.4: InnoDB startup could take very long or even crash on some Win 95/98/ME computers.
  • Fixed a bug: fast shutdown (which is the default) sometimes was slowed down by purge and insert buffer merge.
  • Fixed a bug: doing a big SELECT from a table where no rows were visible in a consistent read could cause a very long (> 600 seconds) semaphore wait in btr0cur.c line 310.
  • Fixed a bug: the AUTO-INC lock was held to the end of the transaction if it was granted after a lock wait. This could cause unnecessary deadlocks.
  • Fixed a bug: if you created a temporary table inside LOCK TABLES, and used that temporary table, that caused an assertion failure in ha_innobase.cc.
  • Fixed a bug: if SHOW INNODB STATUS, innodb_monitor, or innodb_lock_monitor had to print several hundred transactions in one report, and the output became truncated, InnoDB would hang, printing to the error log many waits for a mutex created at srv0srv.c, line 1621.
  • Fixed a bug: SHOW INNODB STATUS on Unix always reported average file read size as 0 bytes.

 

MySQL/InnoDB-4.0.4, October 2, 2002

  • We again use unbuffered disk i/o to data files in Windows. Win XP and Win 2000 read performance seems to be very poor with normal i/o.
  • Increased the max key length of InnoDB tables from 500 to 1024 bytes.
  • Increased the table comment field in SHOW TABLE STATUS so that up to 16000 characters of foreign key definitions can be printed there.
  • The auto-increment counter is no longer incremented if an insert of a row immediately fails in an error.
  • Allow dropping and creating a table even if innodb_force_recovery is set. One can use this to drop a table which would cause a crash in rollback or purge, or if a failed table import causes a runaway rollback in recovery.
  • Fixed a bug: Using ORDER BY primarykey DESC in 4.0.3 causes an assertion failure in btr0pcur.c, line 203.
  • Fixed a bug: fast shutdown (which is the default) sometimes was slowed down by purge and insert buffer merge.
  • Fixed a bug: doing a big SELECT from a table where no rows were visible in a consistent read could cause a very long (> 600 seconds) semaphore wait in btr0cur.c line 310.
  • Fixed a bug: if the MySQL query cache was used, it did not get invalidated by a modification done by ON DELETE CASCADE or ...SET NULL.
  • Fixed a bug: if you created a temporary table inside LOCK TABLES, and used that temporary table, that caused an assertion failure in ha_innodb.cc.
  • Fixed a bug: if you set innodb_flush_log_at_trx_commit to 1, SHOW VARIABLES would show its value as 16 million.
  • An outstanding bug: queries of type "WHERE indexedcolumn LIKE 'abc%' ORDER BY indexedcolumn DESC" may return only rows where indexedcolumn='abc'. Will be fixed in 4.0.5.

 

MySQL/InnoDB-4.0.3, August 28, 2002

  • Removed unnecessary deadlocks when inserts have to wait for a locking read, update, or delete to release its next-key lock.
  • The MySQL HANDLER SQL commands now work also for InnoDB type tables. InnoDB does the HANDLER reads always as consistent reads. HANDLER is a direct access path to read individual indexes of tables. In some cases HANDLER can be used as a substitute of server-side cursors.
  • Fixed a bug in 4.0.2: even a simple insert could crash the AIX version.
  • Fixed a bug: if you used in a table name characters whose code is > 127, in DROP TABLE InnoDB could assert on line 155 of pars0sym.c.
  • Compilation from source now provides a working version both on HP-UX-11 and HP-UX-10.20. The source of 4.0.2 worked only on 11, and the source of 3.23.52 only on 10.20.
  • Fixed a bug: if compiled on 64-bit Solaris, InnoDB produced a bus error at startup.

 

MySQL/InnoDB-3.23.52, August 16, 2002

  • The feature set of 3.23 will be frozen from this version on. New features will go to the 4.0 branch, and only bug fixes will be made to the 3.23 branch.
  • Many CPU-bound join queries now run faster. On Windows also many other CPU-bound queries run faster.
  • A new SQL command SHOW INNODB STATUS returns the output of the InnoDB Monitor to the client. The InnoDB Monitor now prints detailed info on the latest detected deadlock.
  • InnoDB made the SQL query optimizer to avoid too much index-only range scans and choose full table scans instead. This is now fixed.
  • "BEGIN" and "COMMIT" are now added in the binlog around transactions. The MySQL replication now respects transaction borders: a user will no longer see half transactions in replication slaves.
  • A replication slave now prints in crash recovery the last master binlog position it was able to recover to.
  • A new setting innodb_flush_log_at_trx_commit=2 makes InnoDB to write the log to the operating system file cache at each commit. This is almost as fast as the setting innodb_flush_log_at_trx_commit=0, and the setting 2 also has the nice feature that in a crash where the operating system does not crash, no committed transaction is lost. If the operating system crashes or there is a power outage, then the setting 2 is no safer than the setting 0.
  • Added checksum fields to log blocks.
  • SET FOREIGN_KEY_CHECKS=0 helps in importing tables in an arbitrary order which does not respect the foreign key rules.
  • SET UNIQUE_CHECKS=0 speeds up table imports into InnoDB if you have UNIQUE constraints on secondary indexes.
  • SHOW TABLE STATUS now lists also possible ON DELETE CASCADE or ON DELETE SET NULL in the comment field of the table.
  • When CHECK TABLE is run on any InnoDB type table, it now checks also the adaptive hash index for all tables.
  • If you defined ON DELETE CASCADE or SET NULL and updated the referenced key in the parent row, InnoDB deleted or updated the child row. This is now changed to conform to SQL-92: you get the error 'Cannot delete parent row'.
  • Improved the auto-increment algorithm: now the first insert or SHOW TABLE STATUS initializes the auto-inc counter for the table. This removes almost all surprising deadlocks caused by SHOW TABLE STATUS.
  • Aligned some buffers used in reading and writing to data files. This allows using unbuffered raw devices as data files in Linux.
  • Fixed a bug: If you updated the primary key of a table so that only the case of characters changed, that could cause assertion failures, mostly in page0page.ic line 515.
  • Fixed a bug: If you delete or update a row referenced in a foreign key constraint and the foreign key check has to wait for a lock, then the check may report an erroneous result. This affects also the ON DELETE... operation.
  • Fixed a bug: A deadlock or a lock wait timeout error in InnoDB causes InnoDB to roll back the whole transaction, but MySQL could still write the earlier SQL statements to the binlog, even though InnoDB rolled them back. This could, for example, cause replicated databases to get out-of-sync.
  • Fixed a bug: If the database happened to crash in the middle of a commit, then the recovery might leak tablespace pages.
  • Fixed a bug: If you specified a non-latin1 character set in my.cnf, then, in contrary to what is stated in the manual, in a foreign key constraint a string type column had to have the same length specification in the referencing table and the referenced table.
  • Fixed a bug: DROP TABLE or DROP DATABASE could fail if there simultaneously was a CREATE TABLE running.
  • Fixed a bug: If you configured the buffer pool bigger than 2 GB in a 32-bit computer, InnoDB would assert in buf0buf.ic line 214.
  • Fixed a bug: on 64-bit computers updating rows which contained the SQL NULL in some column could cause the undo log and the ordinary log to become corrupt.
  • Fixed a bug: innodb_log_monitor caused a hang if it suppressed lock prints for a page.
  • Fixed a bug: in the HP-UX-10.20 version mutexes would leak and cause race conditions and crashes in any part of InnoDB code.
  • Fixed a bug: if you ran in the AUTOCOMMIT mode, executed a SELECT, and immediately after that a RENAME TABLE, then RENAME would fail and MySQL would complain about error 1192.
  • Fixed a bug: if compiled on 64-bit Solaris, InnoDB produced a bus error at startup.

 

MySQL/InnoDB-4.0.2, July 10, 2002

  • InnoDB is essentially the same as InnoDB-3.23.51.
  • If no innodb_data_file_path is specified, InnoDB at the database creation now creates a 10 MB auto-extending data file ibdata1 to the datadir of MySQL. In 4.0.1 the file was 64 MB and not auto-extending.

 

MySQL/InnoDB-3.23.51, June 12, 2002

  • Fixed a bug: a join could result in a seg fault in copying of a BLOB or TEXT column if some of the BLOB or TEXT columns in the table contained SQL NULL values.
  • Fixed a bug: if you added self-referential foreign key constraints with ON DELETE CASCADE to tables and a row deletion caused InnoDB to attempt the deletion of the same row twice because of a cascading delete, then you got an assertion failure.
  • Fixed a bug: if you use MySQL 'user level locks' and close a connection, then InnoDB may assert in ha_innobase.cc, line 302.

 

MySQL/InnoDB-3.23.50, April 23, 2002

  • InnoDB now supports an auto-extending last data file. You do not need to preallocate the whole data file at the database startup.
  • Made several changes to facilitate the use of the InnoDB Hot Backup tool. It is a separate non-free tool you can use to take online backups of your database without shutting down the server or setting any locks.
  • If you want to run the InnoDB Hot Backup tool on an auto-extending data file you have to upgrade it to version ibbackup-0.35.
  • The log scan phase in crash recovery will now run much faster.
  • Starting from this server version, the hot backup tool truncates unused ends in the backup InnoDB data files.
  • To allow the hot backup tool to work, on Windows we no longer use unbuffered i/o or native async i/o; instead we use the same simulated async i/o as on Unix.
  • You can now define the ON DELETE CASCADE or ON DELETE SET NULL clause on foreign keys.
  • FOREIGN KEY constraints now survive ALTER TABLE and CREATE INDEX.
  • We suppress the FOREIGN KEY check if any of the column values in the foreign key or referenced key to be checked is the SQL NULL. This is compatible with Oracle, for example.
  • SHOW CREATE TABLE now lists also foreign key constraints. Also mysqldump no longer forgets about foreign keys in table definitions.
  • You can now add a new foreign key constraint with ALTER TABLE ... ADD CONSTRAINT FOREIGN KEY (...) REFERENCES ... (...).
  • FOREIGN KEY definitions now allow backquotes around table and column names.
  • MySQL command SET TRANSACTION ISOLATION LEVEL ... has now the following effect on InnoDB tables: if a transaction is defined as SERIALIZABLE then InnoDB conceptually adds LOCK IN SHARE MODE to all consistent reads. If a transaction is defined to have any other isolation level, then InnoDB obeys its default locking strategy which is REPEATABLE READ.
  • SHOW TABLE STATUS no longer sets an x-lock at the end of an auto-increment index if the auto-increment counter has already been initialized. This removes in almost all cases the surprising deadlocks caused by SHOW TABLE STATUS.
  • Fixed a bug: in a CREATE TABLE statement the string 'foreign' followed by a non-space character confused the FOREIGN KEY parser and caused table creation to fail with errno 150.

 

MySQL/InnoDB-3.23.49, February 17, 2002

  • Fixed a bug: if you called DROP DATABASE for a database on which there simultaneously were running queries, the MySQL server could crash or hang. Crashes fixed, but a full fix has to wait some changes in the MySQL layer of code.
  • Fixed a bug: on Windows one had to put the database name in lower case for DROP DATABASE to work. Fixed in 3.23.49: case no longer matters on Windows. On Unix the database name remains case-sensitive.
  • Fixed a bug: if one defined a non-latin1 character set as the default character set, then definition of foreign key constraints could fail in an assertion failure in dict0crea.c, reporting an internal error 17.

 

MySQL/InnoDB-3.23.48, February 9, 2002

  • Tuned the SQL optimizer to favor more often index searches over table scans.
  • Fixed a performance problem when several large SELECT queries are run concurrently on a multiprocessor Linux computer. Large CPU-bound SELECT queries will now also generally run faster on all platforms.
  • If MySQL binlogging is used, InnoDB now prints after crash recovery the latest MySQL binlog file name and the position in that file (= byte offset) InnoDB was able to recover to. This is useful, for example, when resynchronizing a master and a slave database in replication.
  • Added better error messages to help in installation problems.
  • One can now recover also MySQL temporary tables which have become orphaned inside the InnoDB tablespace.
  • InnoDB now prevents a FOREIGN KEY declaration where the signedness is not the same in the referencing and referenced integer columns.
  • Fixed a bug: calling SHOW CREATE TABLE or SHOW TABLE STATUS could cause memory corruption and make mysqld to crash. Especially at risk was mysqldump, because it calls frequently SHOW CREATE TABLE.
  • Fixed a bug: if on Unix you did an ALTER TABLE to an InnoDB table and simultaneously did queries to it, mysqld could crash with an assertion failure in row0row.c, line 474.
  • Fixed a bug: if inserts to several tables containing an auto-inc column were wrapped inside one LOCK TABLES, InnoDB asserted in lock0lock.c.
  • In 3.23.47 we allowed several NULLS in a UNIQUE secondary index. But CHECK TABLE was not relaxed: it reports the table as corrupt. CHECK TABLE no longer complains in this situation.
  • Fixed a bug: on Sparc and other high-endian processors SHOW VARIABLES showed innodb_flush_log_at_trx_commit and other boolean-valued startup parameters always OFF even if they were switched on.
  • Fixed a bug: if you ran mysqld-max-nt as a service on Windows NT/2000, the service shutdown did not always wait long enough for the InnoDB shutdown to finish.

 

MySQL/InnoDB-3.23.47, December 28, 2001

  • Recovery happens now faster, especially in a lightly loaded system, because background checkpointing has been made more frequent.
  • InnoDB allows now several similar key values in a UNIQUE secondary index if those values contain SQL NULLs. Thus the convention is now the same as in MyISAM tables.
  • InnoDB gives a better row count estimate for a table which contains BLOBs.
  • In a FOREIGN KEY constraint InnoDB is now case-insensitive to column names, and in Windows also to table names.
  • InnoDB allows a FOREIGN KEY column of CHAR type to refer to a column of VARCHAR type, and vice versa. MySQL silently changes the type of some columns between CHAR and VARCHAR, and these silent changes do not hinder FOREIGN KEY declaration any more.
  • Recovery has been made more resilient to corruption of log files.
  • Unnecessary statistics calculation has been removed from queries which generate a temporary table. Some ORDER BY and DISTINCT queries will now run much faster.
  • MySQL now knows that the table scan of an InnoDB table is done through the primary key. This will save a sort in some ORDER BY queries.
  • The maximum key length of InnoDB tables is again restricted to 500 bytes. The MySQL interpreter is not able to handle longer keys.
  • The default value of innodb_lock_wait_timeout was changed from infinite to 50 seconds, the default value of innodb_file_io_threads from 9 to 4.

 

MySQL/InnoDB-4.0.1, December 23, 2001

  • InnoDB is the same as in 3.23.47.
  • In 4.0.0 the MySQL interpreter did not know the syntax LOCK IN SHARE MODE. This has been fixed.
  • In 4.0.0 multi-table delete did not work for transactional tables. This has been fixed.

 

MySQL/InnoDB-3.23.46, November 30, 2001

  • This is the same as 3.23.45.

 

MySQL/InnoDB-3.23.45, November 23, 2001

  • This is a bugfix release.
  • In versions 3.23.42-.44 when creating a table on Windows you have to use lower case letters in the database name to be able to access the table. Fixed in 3.23.45.
  • InnoDB now flushes stdout and stderr every 10 seconds: if these are redirected to files, the file contents can be better viewed with an editor.
  • Fixed an assertion failure in .44, in trx0trx.c, line 178 when you drop a table which has the .frm file but does not exist inside InnoDB.
  • Fixed a bug in the insert buffer. The insert buffer tree could get into an inconsistent state, causing a crash, and also crashing the recovery. This bug could appear especially in large table imports or alterations.
  • Fixed a bug in recovery: InnoDB could go into an infinite loop constantly printing a warning message that it cannot find free blocks from the buffer pool.
  • Fixed a bug: when you created a temporary table of the InnoDB type, and then used ALTER TABLE to it, the MySQL server could crash.
  • Prevented creation of MySQL system tables 'mysql.user', 'mysql.host', or 'mysql.db', in the InnoDB type.
  • Fixed a bug which can cause an assertion failure in 3.23.44 in srv0srv.c, line 1728.

 

MySQL/InnoDB-3.23.44, November 2, 2001

  • You can define foreign key constraints on InnoDB tables. An example: FOREIGN KEY (col1) REFERENCES table2(col2).
  • You can create > 4 GB data files in those file systems that allow it.
  • Improved InnoDB monitors, including a new innodb_table_monitor which allows you to print the contents of the InnoDB internal data dictionary.
  • DROP DATABASE will now work also for InnoDB tables.
  • Accent characters in the default character set latin1 will be ordered according to the MySQL ordering.
    NOTE: if you are using latin1 and have inserted characters whose code is > 127 to an indexed CHAR column, you should run CHECK TABLE on your table when you upgrade to 3.23.43, and drop and reimport the table if CHECK TABLE reports an error!
  • InnoDB will calculate better table cardinality estimates.
  • Change in deadlock resolution: in .43 a deadlock rolls back only the SQL statement, in .44 it will roll back the whole transaction.
  • Deadlock, lock wait timeout, and foreign key constraint violations (no parent row, child rows exist) now return native MySQL error codes 1213, 1205, 1216, 1217, respectively.
  • A new my.cnf parameter innodb_thread_concurrency helps in performance tuning in high concurrency environments.
  • A new my.cnf option innodb_force_recovery will help you in dumping tables from a corrupted database.
  • A new my.cnf option innodb_fast_shutdown will speed up shutdown. Normally InnoDB does a full purge and an insert buffer merge at shutdown.
  • Raised maximum key length to 7000 bytes from a previous limit of 500 bytes.
  • Fixed a bug in replication of auto-inc columns with multiline inserts.
  • Fixed a bug when the case of letters changes in an update of an indexed secondary column.
  • Fixed a hang when there are > 24 data files.
  • Fixed a crash when MAX(col) is selected from an empty table, and col is a not the first column in a multi-column index.
  • Fixed a bug in purge which could cause crashes.

 

MySQL/InnoDB-3.23.43, October 4, 2001

  • This is essentially the same as InnoDB-3.23.42.

 

MySQL/InnoDB-3.23.42, September 9, 2001

  • Fixed a bug which corrupted the table if the primary key of a > 8000-byte row was updated.
  • There are now 3 types of InnoDB Monitors: innodb_monitor, innodb_lock_monitor, and innodb_tablespace_monitor. innodb_monitor now prints also buffer pool hit rate and the total number of rows inserted, updated, deleted, read.
  • Fixed a bug in RENAME TABLE.
  • Fixed a bug in replication with an auto-increment column.

 

MySQL/InnoDB-3.23.41, August 13, 2001:

  • Support for < 4 GB rows. The previous limit was 8000 bytes.
  • Use the doublewrite file flush method.
  • Raw disk partitions supported as data files.
  • InnoDB Monitor.
  • Several hang bugs fixed and an ORDER BY bug ('Sort aborted') fixed.

 

MySQL/InnoDB-3.23.40, July 16, 2001:

  • Only a few rare bugs fixed.

 

MySQL/InnoDB-3.23.39, June 13, 2001:

  • CHECK TABLE now works for InnoDB tables.
  • A new my.cnf parameter innodb_unix_file_flush_method introduced. It can be used to tune disk write performance.
  • An auto-increment column now gets new values past the transaction mechanism. This saves CPU time and eliminates transaction deadlocks in new value assignment.
  • Several bug fixes, most notably the rollback bug in 3.23.38.

 

MySQL/InnoDB-3.23.38, May 12, 2001:

  • The new syntax SELECT ... LOCK IN SHARE MODE is introduced.
  • InnoDB now calls fsync after every disk write and calculates a checksum for every database page it writes or reads, which will reveal disk defects.
  • Several bug fixes.

 

17 InnoDB contact information

Contact information of Innobase Oy, producer of the InnoDB engine:

Website: www.innodb.com

Heikki.Tuuri@innodb.com
phone: 358-9-6969 3250 (office) 358-40-5617367 (mobile)
Innobase Oy Inc.
World Trade Center Helsinki
Aleksanterinkatu 17
P.O.Box 800
00101 Helsinki
Finland

18 The GNU GPL License Version 2

The GPL license text.

19 Known bugs and their fixes in old versions of InnoDB

See a separate web page.

20 The TODO list of new features to InnoDB

See a separate web page.

21 Some books and articles on MySQL/InnoDB

See a separate web page.

下载完整电子书:InnoDB 中文参考手册

上一篇:PHP使用zlib扩展实现页面GZIP压缩输出
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号