Showing entries 40836 to 40845 of 44070
« 10 Newer Entries | 10 Older Entries »
Table partitioning in MySQL 5.1

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 …

[Read more]
Published my book electronically, under a Creative Commons license

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

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]
Knoppix 5.0.1 available

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.

MySQL Performance Tuning Presentations
Tuesday, 6 June 2006

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]
MySQL: Open Source Information Flow
To equals or not to equals

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 an UPDATE 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 trigger NEW.% values.
SET v_done := TRUE;
inside the SELECT list, where you can assign expressions to …
[Read more]
MySQL 5.0 manages the bug turnaround

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]
PHP - Populate HTML Select Element

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]
Showing entries 40836 to 40845 of 44070
« 10 Newer Entries | 10 Older Entries »