Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 7 reacties
Bron: Betanews

Betanews bracht ons vandaag op de hoogte dat MySQL wederom een nieuwe development versie heeft uitgebracht. De nieuwe handigheden en de bugfixes:

  • Fixed crash when automatic repair of MyISAM table failed.
  • Fixed a major performance bug in the table locking code when one constantly had a LOT of SELECT, UPDATE and INSERT statements running. The symptom was that the UPDATE and INSERT queries was locked a long time while new SELECT statements where executed without locks.
  • When reading options_files with mysql_options() the return-found-rows option was ignored.
  • One can now specify interactive-timeout in the option file that is read by mysql_options(). This makes it possible to force programs that runs for a long time (like mysqlhotcopy) to use interactive_timeout instead of wait_timeout.
  • We now always print when the query was made and who made it in the 'slow query log'. If you are using --log-long-format then also queries that are not using indexes are printed.
  • Fixed problem in LEFT JOIN which caused all columns in reference table to be NULL.
  • Fixed problem when using NATURAL JOIN without keys.
  • Fixed bug when using a multi-part keys where the first part was of type TEXT or BLOB.
  • DROP of temporary tables wasn't stored in the update/binary log.
  • Fixed bug where SELECT DISTINCT * ... LIMIT # only returned 1 row.
  • Fixed a bug in the assembler code in strstr for sparc and cleaned up the global.h header file to avoid a problem with bad aliasing with the compiler submitted with RedHat 7.0. (Reported by Trond Eivind Glomsrod)
  • Fixed the --skip-networking works properly on NT.
  • Fixed long outstanding bug in the ISAM tables when a row with a length of more than 65K was shortened by a single byte.
  • Fixed bug in MyISAM when running multiple updating processes on the same table.
  • Allow one to use FLUSH TABLE tablename.
  • Changed all log files to use our own IO_CACHE mechanism instead of FILE:s to avoid OS problems when there is many files open.
  • Added options --open-files and --timezone to safe_mysqld.
  • Fixed fatal bug in CREATE TEMPORARY TABLE ...SELECT ....
  • Fixed problem with CREATE TABLE .. SELECT NULL.
  • Added variables large_file_support,net_read_timeout, net_write_timeout and query_buffer_size to SHOW VARIABLES.
  • Added status variables created_tmp_files and sort_merge_passes to SHOW STATUS.
  • Fixed bug where we didn't allow an index name after the FOREIGN KEY definition.
  • Added TRUNCATE table_name as a synonym for DELETE FROM table_name.
  • Fixed bug in a BDB key compare function when comparing part keys.
  • Added variable bdb_lock_max to mysqld.
  • Added more tests to the benchmark suite.
  • Fixed a overflow bug in the client code when using too long database names.
  • mysql_connect() now aborts on Linux if the server doesn't answer in timeout seconds.
  • SLAVE START did not work if you started with --skip-slave-start and had not explicitly run CHANGE MASTER TO.
  • Fixed the output of SHOW MASTER STATUS to be consistent with SHOW SLAVE STATUS (no directory in the log name).
  • Added --safemalloc-mem-limit option to mysqld to simulate memory shortage when compiled --with-debug=full
  • Fixed several coredumps in out-of-memory conditions
  • SHOW SLAVE STATUS was using unititialized mutex if the slave had not been started yet
  • Fixed bug in ELT() and MAKE_SET() when the query used a temporary table
  • CHANGE MASTER TO without specifying MASTER_LOG_POS would set it to 0 instead of 4 and hit the magic number in the master binlog.
  • ALTER TABLE ... ORDER BY ... syntax added. This will create the new table with the rows in a specific order.

Lees meer over

Besturingssystemen:Windows 9x, Windows NT, Windows 2000, Linux
Moderatie-faq Wijzig weergave

Reacties (7)

pff, pittige fixes zeg. al zie je in deze lijst niet wanneer betreffende problemen op zouden treden

1 dingetjes wat me in deze lijst opviel:
Added TRUNCATE table_name as a synonym for DELETE FROM table_name
Als synoniem? Een truncate is in bv MSSQL supersnel ten opzichte van een totale DELETE FROM aangezien het duidelijk is dat alle records weg moeten. In MSSQL worden ook de auto nummer velden weer terug gezet op 1.
Ik weet niet of het een MSSQL specifieks is of niet. Toch klinkt het me raar in de oren dat ze het een synoniem voor de DELETE maken.

Ik peins te veel :?
In MySQL is het ook anders hoor:
TRUNCATE table_name

Is in 3.23 and the same thing as DELETE FROM table_name. See section 7.17 DELETE Syntax. The differences are:

Implemented as a drop and re-create of the table, which makes this much faster when deleting many rows.

Not transaction-safe; TRUNCATE will automaticly end the current transaction as if COMMIT would have been called.

Doesn't return the number of deleted rows.

As long as the table definition file `table_name.frm' is valid, the table can be re-created this way, even if the data or index files have become corrupted.
Het is ongelooflijk hoe snel er nieuwe code wordt toegevoegd aan MySQL, maar wat ik me afvraag, subqueries en foreign keys, gaat dat nog een keer komen of hebben ze zoiets van "dat doe jij maar lekker op een andere manier?"
Things that should be in 4.0:

- New table definition file format (.frm files) This will enable us to not run out of bits when adding more table options. One will still be able to use the old .frm file format with 4.0; All new created tables will, however, use the new format. The new file format will enable us to add new column types, more options for keys and FOREIGN KEYS.

Things that must done in the real near future:

- Subqueries. select id from t where grp in (select grp from g where u > 100)

De rest lees je hier:
MySQL is in vergelijking met Oracle en Postgres een iets simpelere database zonder allerlei features die de snelheid tegengaan.
Nu is zo dat de DELETE en de TRUNCATE in Oracle een groot verschil in snelheid heeft, volgens mij door de uitgebreide features en checks (denk aan constraints en stored procedures).
In MySQL is dit nog niet het geval en hebben ze er een synoniem van gemaakt.
Later zullen deze query commando's wel degelijk verschillend zijn.
Wie geeft er even een stabiele link dan? Want zowel mijn PC als mijn webserver breken na een paar honderd KB al af... :'(

Op dit item kan niet meer gereageerd worden.

Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en de Persgroep Online Services B.V. Hosting door True