Showing entries 37721 to 37730 of 44899
« 10 Newer Entries | 10 Older Entries »
ClickAider - Track Adsense Clicks and much more

Let me announce ClickAider - another projects we were working on in stealth mode for last several Months.

ClickAider is Hosted Web Statistics system but it tracks Clicks rather than page views as most web counters do. And by clicks I mean not just clicks on the urls and images but clicks on many sophisticated advertisement systems - Google Adsense, Yahoo Publishers Network, AdBrite, AuctionAds and few others, plus ClickAider also can track form submissions.

The Click Tracking is done non-intrusive way, without Advertisers JavaScript modification so typically it is compatible with advertisers terms of service.

Why did we decide to do it …

[Read more]
mysqlnd is looking for testers

Georg, Andrey and Ulf have been hard at work designing, implementing and testing a replacement for libmysql only for us PHP users. The idea is that mysqlnd can leverage all the internal PHP infrastructure for communication and memory management. It can also be much more PHP aware, removing old cruft we do not need while adding extra goodies just for us!

This means the PHP memory limit will finally be honored, PHP user streams will be able to hook into the communication with MySQL. A client side query cache promises speed improvements and the fact that data does not need to be moved from libmysql to PHP should also stream line things. They are also looking to improve support for persistent connections.

While originally developed for PHP6, mysqlnd now also runs on PHP5 and talks to ext/mysqli and ext/mysql with PDO support planned. More over the …

[Read more]
MySQL net_write_timeout vs wait_timeout and protocol notes

In my previous post I mentioned you might need to increase net_write_timeout to avoid connection being aborted and now I think I should have better explained that.

MySQL uses a lot of different timeout variables at different stages. For example when connection is just being established connect_timeout is used. When server waits for another query to be sent to it wait_timeout
(or interactive_timeout for applications which specified they are interactive during connection). This value is rather large as it is rather typical for some applications to have long delays between queries.

If query is being read or result set is being sent back, much shorter net_read_timeout and net_write_timeout are used.

[Read more]
Certified MySQL 5.0 DBA Part II

After having a week to recover from the first exam I finally got around to taking the second one….and passed!!

Part II of the MySQL DBA Certification focused a lot more on the day to day running of the server, compared to Part I which was very much installation / configuration based.

Studying for the exam was a little difficult as I also had to work this week (as opposed to being on holiday!), but the skills you gain can be directly applied to everyday management of MySQL, and can be very rewarding especially if you focus on optimisation.

So what next you ask? Well after getting this far I thought it only fair that I give something back to the MySQL Community in the form of a MoinMoin Macro - …

[Read more]
Django development platform in less than 15 minutes!

Using the LAMP Virtual Appliance, it is possible to create a full Django development environment in less than 15 minutes.

This article assumes that the reader is already familiar with VMware virtualization products and has one of the following products installed and functional on their host operating system: VMware Player (free download), VMware Server (free download), or VMware Workstation.

Download the LAMP VA (build 131 or newer) and configure for your environment.

Assuming a …

[Read more]
Introduction

Would appreciate your comments and love to work on MySQL related problems if you are facing any, that will also keep me motivated about posting stuff here.

My current project is MyEye, which will be soon available. It is a tool that will keep a vigilant eye on your MySQL installation, provide valuable feedback and helps in monitoring too.

Office for Mac and the interoperability divide

I was reading the latest issue of Mac|Life tonight (I liked it better as Mac Addict, by the way), and it struck me how dependent Apple is on Microsoft. For all the cool things that come with Mac hardware and OS X, a large swath of the Mac user population would be crippled or wiped out if Microsoft decided to stop supporting Office for Mac.

The Mac faithful (of which I am part) won't like to hear this, but it's true. OpenOffice is an excellent program (It actually is now--three years ago it was rubbish), but many of us simply couldn't use it "in production." Sure, I could run Office for Windows in Parallels' coherence mode (and almost certainly would), but that's an unnecessarily roundabout way of solving something best done directly.

This is a …

[Read more]
Consulting in Europe or Japan in September?

I am planning (and possibly Eric as well) on going to the MySQL Developer’s Meeting in Heidelberg, Germany during the week of September 17th. If you’re in Europe somewhere (in Germany, even better) and are interested in on-site consulting from Proven Scaling in mid September, let me know!

I may also be attending the MySQL Users Conference in Tokyo September 11-12, so if you’re in Japan (or near) and want MySQL consulting on-site in early or mid-September, also do let me know!

An idea: create ha_trace tracing storage engine

Our exprience in solving query optimizer problems shows that a good chunk of optimization problems are incorrect choice of join order. The most frequent causes of the problems are

  1. Table engine returns index statistics or records-in-range numbers that are very far from reality;
  2. The WHERE clause has high-selectivity conditions for one table and low-selectivity conditions for the other. The optimizer is not aware of this and chooses a poor join order;
  3. Bugs or shortcomings in the optimizer or the table engine;

At the moment investigation of those kinds of problems is hard and time-consuming:

  • There is no easy way to find out what the storage engine has returned to the optimizer from records-in-range calls. One has to manually repeat the steps taken by equality propagation, constant table detection and other query rewrites, construct the table's condition and run the …
[Read more]
mysqlnd

MySQL developes a new driver for PHP, called php-mysqlnd.
This driver is a replacement for libmysql, but offers some new features too.

The result-object now has the method "fetch_all", which (as the name says) returns an array containing all result set rows. This method is much faster than calling fetch_assoc in a loop.
Unfortunately it´s not possible to specify a column that should be used for the array index.
Would be great if something like this is possible:

$res        =       $mysqli->query("SELECT customer_id, last_name FROM customers");
$data       =       $res->fetch_all("customer_id");
print_r($data);

Array
(
    [123] => Array
        (
            [customer_id] => 123
            [last_name] => foo
        )

    [124] => Array
        (
            [customer_id] => 124
            [last_name] …
[Read more]
Showing entries 37721 to 37730 of 44899
« 10 Newer Entries | 10 Older Entries »