I'm very excited that MySQL implements this feature in version
5.1.x, all the new features are bridging the gap between open
source and propietary RDMS like Oracle, this feature particularly
makes MySQL suitable for Data warehouse systems, not just OLTP
systems as it's well known.
There are a lot of benefits in the use of table partitioning
like:
- Eases the administration of the tables
- Reduces time taken in large amount of DML
- Improves the response of some queries
Table partitioning allows the DBA to define how the table and the
data cointained could be stored phisically, while remaining the
logical structure the same. For example a table with data of 5
years (theorically a large table) could be splitted (depending on
the needs) in 5 partitions, reducing the time taken by some
queries that may fit into a particular year, easing the
administration of the table when the data from a year …
My book No Lobbyists As Such - The War over Software Patents
in the European Union is now available for download:
www.no-lobbyists-as-such.com/NoLobbyistsAsSuch.pdf
The PDF file has a size of approximately 2 megabytes. In order to read the document, you need Adobe Acrobat Reader. By the way, I have also published a German edition of my book on www.softwarepatente-buch.de.
Originally I had planned to self-publish my book in print. After the official announcement of my book in late …
[Read more]Call for Comments on MySQL Online Backup API - Jay Pipes
It’s been interesting watching the ideas develop for online, consistent Backup for MySQL.
I should expand that… consistent across storage engines. Other RDBMS vendors get it easy - they just have one storage engine to back up. We have several - and people want them done consistently (especially when you have multiple transactional ones).
For Cluster (NDB) we have added complications because you’re then wanting a “cross storage engine consistent backup” and there’s synchronisation down inside the cluster to make that happen. Greg and I have been discussing possible ways we could make this work. Not sure if it’ll be in the first version though :)
This is really interesting because AFAIK this is the first time …
[Read more]
Today I have downloaded the brand new Knoppix 5.0.1 DVD and
played a bit around with it.
It looks quite nice, although some of the packages are very up to
date and others are quite old. MySQL comes with 5.0.21, so
there's probably no distribution with a more recent MySQL version
at the moment.
PostgreSQL is included with version 8.0.4, while the current
version is 8.1.4 (and the latest version of the 8.0 tree is
8.0.8). Apache comes with versions 1.3.34 and 2.0.55, but only
Apache 1.3.34 is configured to start with PHP and that only with
PHP 4.4.2, which is the most disappointing aspect that I found.
Spent today catching up with the lost data from yesterday. Somehow it's difficult to maintain the same enthusiasm when you're repeating work you've already done, and at the end of the day I wasn't much further than yesterday. Well, not as much further as I had hoped.
I'm still considering how to make the “low-level design” useful. Another problem is that the real issues with most algorithms in complicated products like the MySQL server is not the algorithm itself, but how it interfaces with the rest of the system. Consider a low-level design snippet like this:
USE dbname; /* Stop DDL operations */ stop_all_ddl (); write_backup_header (); /* Start the backup threads */ for each atend engine spawn_thread (backup_worker, engine);
This nicely captures what I want to do; we select a database, stop DDL operations, write a header to the output stream, and spawn one worker thread for each storage engine.
…[Read more]
That's just funny...
I just had a discussion with Beat, Giuseppe
and Markus about the most preferable to write
assignments in MySQL.
MySQL has a couple of ways to write an assignment:
-
inside the
SET
clause of anUPDATE
statement to assign values to database columns -
UPDATE sakila.film SET original_language_id := 1
-
inside a
SET
statement in to assign values to user defined variables or (in a stored routine context) local variables, parameters and triggerNEW.%
values. -
SET v_done := TRUE;
-
inside the
SELECT
list, where you can assign expressions to …
For the first time since the release of MySQL 5.0 the developers can keep up with the number of bugs reported: During May 2006 a total of 245 new bugs has been opened while 265 reports have been closed.
According to the MySQL Bug Statistics, that's the first month during which more bugs have been closed than opened, since MySQL 5.0 was announced production ready in October 2005. Before last month the number of open bugs had been increasing continuously.
The interesting thing is, that the turnaround wasn't only achieved because the rate of incoming bugs decreased during the last few months, but also because the rate at which reports could be resolved was steadily increased. This could be due to an improvement in bug handling and more work force assigned but also to the decreasing complexity of later bug reports.
This is definitely a major turnaround. There is …
[Read more]There is many ways to populate vales into a HTML select element. Here is one example I’ve come up with.
PHP Code Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<select size="1" name="szFooBar[]" multiple="multiple"> < ?php $i=0; while($obResults = mysql_fetch_row($saResults)) { if ($_POST['szFooBar'] == $obResults[0]) { $szSelectedValue[$i] = " selected=\"selected\""; } else { $szSelectedValue[$i] = ""; } printf("<option value=\"%s\"%s>%s\n",$obResults[0], $szSelectedValue[$i], $obResults[1]); $i++; } ?> </select> |
…
[Read more]