Showing entries 27911 to 27920 of 44922
« 10 Newer Entries | 10 Older Entries »
Is BIT_LENGTH() useful?
mysql [localhost] {msandbox} ((none)) > select length(crc32(3)) * 8, bit_length(crc32(3));
+----------------------+----------------------+
| length(crc32(3)) * 8 | bit_length(crc32(3)) |
+----------------------+----------------------+
|                   80 |                   80 |
+----------------------+----------------------+
1 row in set (0.00 sec)
Cleaning up Wordpress comment tables



In Montreal with Dups and Kaj, we were looking at a number of technical problems, and each one of you got something valuable from the meeting.
One of Kaj's problems was a collection of Wordpress blogs infested by spam. Kaj has done something already but the situation was critical. Before applying Akismet to his comments, he needed to cleanup the majority of the spam in same easy way.


It is not rocket …

[Read more]
On throttling

Seems like nowadays InnoDB crash recovery is much funnier. Please allow me to show you something:

while (buf_pool->n_pend_reads >=
        recv_n_pool_free_frames / 2) {
  os_aio_simulated_wake_handler_threads();
  os_thread_sleep(500000);

Translation – if there’re more than 128 outstanding I/O requests, sleep for half a second. Hehehe. Optimized for floppies!

after the conference, mydumper, parallelism, etc

Though slides for my MySQL Conference talks were on the O’Reilly website, I placed them in my talks page too, for both dtrace and security presentations.

I also gave a lightning talk about mydumper. Since my original announcement mydumper has changed a bit. It supports writing compressed files, detecting and killing slow queries that could block table flushes, supports regular expressions for table names, and trunk is slowly moving towards understanding that storage engines differ :)

I’ve been using mydumper quite a lot in my deployments (and observing 10x faster dumps). Now, the sad part is how to do …

[Read more]
Update of Google’s Sysbench patch to 0.4.12

[Update: I found the magic javascript links that show old releases of sysbench.]

Sysbench is an application that can be used to benchmark different system parameters and also includes support for testing MySQL directly. Google has released a patch for sysbench that adds a lot of new OLTP tests. It’s great for testing MySQL and for drag races against Mark’s tests. Their patch seems to apply against sysbench 0.4.10. I was able to find sysbench 0.4.10 but it wasn’t easy so I’ve ported Google’s patch to sysbench 0.4.12.

Grab the patch here.

So, Why finally PostgreSQL is slower on db_STRESS Benchmark comparing to MySQL ?...

Last month when I've published my results obtained with PostgreSQL 8.3.7 on db_STRESS benchmark I was surprised they were much lower comparing to MySQL, as well some signs alarmed me there is something goes wrong with PostgreSQL... So, once it was possible, I took my time and prepared another testing on the same M5000 server I published MySQL results last week.

I would say I discovered a lot of new things benchmarking PostgreSQL ! I'm not kidding :-) And without going too much in detail, the main gain seems to me of MySQL over PostgreSQL was a lower cost on executing a single query. The query in question was the second SELECT in db_STRESS.

SELECT-2 execution time:

  • MySQL 5.4: 0.44ms
  • PostgreSQL 8.4: 1.3ms
  • PostgreSQL 8.4 prepared statement: 0.98ms

Again, if PostgreSQL being slower on a single query scaled much more far on say 24 cores - it'll be not really a problem. But …

[Read more]
Reverse Geocoding using MySQL GIS

Normal geocoding is the process of taking an address and converting it into latitude and longitude. Reverse geocoding goes the other direction; given a latitude and longitude we want to know the closest street address.

Google Maps API, Yahoo Maps, Microsoft, GeoNames.Org and others can provide both these services, but they either cost, or have restrictive terms of service that makes them unavailable for high volume applications. See Geo::Coder::US (for US addresses only). This uses a local data source, and requires you to download the data from the US Census manually. It can import a format known as …

[Read more]
Four short links: 18 May 2009
  1. Scientists Without Borders -- "Mobilizing Science, Improving Lives". mobilize and coordinate science-based activities that improve quality of life in the developing world. The research community, aid agencies, NGOs, public-private partnerships, and a wide variety of other institutions are already promoting areas such as global health, agricultural progress, and environmental well-being, but current communication gaps restrict their power. Organizations and individuals do not always know about one another's endeavors, needs, or availability, which limits the ability to forge meaningful connections and harness resources. This situation is especially striking in light of the growing realization that integrated rather than focused approaches are crucial for addressing key challenges such as extreme poverty and the glaring health …
[Read more]
Make sure write cache is enabled on your RAID controller

Using a write cache protected by battery (BBWC) is well known and one of the best practices in RDBMS world. But I have frequently seen situations that people do not set write cache properly. Sometimes they just forget to enable write cache. Sometimes write cache is disabled even though they say they set properly.

Make sure that BBWC is enabled. If not enabled, you will be able to easily get better performance by just enabling it. The following is a DBT-2 example.

Write cache is disabled:

# iostat -xm 10
avg-cpu: %user %nice %system %iowait %steal %idle
21.16 0.00 6.14 29.77 0.00 42.93

Device: rrqm/s wrqm/s r/s w/s rMB/s
sdb 2.60 389.01 283.12 47.35 4.86
wMB/s avgrq-sz avgqu-sz await svctm %util
2.19 43.67 4.89 14.76 3.02 99.83


Write cache is enabled:

# iostat -xm 10 …
[Read more]
MySQL Connector/C++ webinar on Wednesday

… subject says it all. There will be a webinar on the driver on Wednesday, 20 20, 2009: 10:00 Pacific time. Register Now.

We have just finished writing the slides. From the contents:

  • The reasoning behind Connector/C++’s development
    • Internal customers
  • What’s included in Connector/C++
    • Architecture
    • API
    • Platforms
    • Installation
    • Portability
  • How you can use it to ease your C++ development
    • Tooling
    • Connection Properties
    • Buffered vs. unbuffered result sets
    • Prepared Statements …
[Read more]
Showing entries 27911 to 27920 of 44922
« 10 Newer Entries | 10 Older Entries »