3 messages in com.mysql.lists.clusterHow to rewrite query| From | Sent On | Attachments |
|---|---|---|
| Mindaugas | 17 Oct 2006 06:34 | |
| Martin Skold | 17 Oct 2006 06:54 | |
| Dan Buettner | 17 Oct 2006 06:55 |
| Subject: | How to rewrite query![]() |
|---|---|
| From: | Mindaugas (mi...@bi.lt) |
| Date: | 10/17/2006 06:34:23 AM |
| List: | com.mysql.lists.cluster |
Hello,
For the Radius server we're using MySQL cluster and the following query looks too slow:
select ip from ipaddr where pool='INTERNET' and stype='S' and ls_id=3 and allocated is null limit 1;
Table ipaddr is small (~6MB, 38000 records). Fields in WHERE clause have few values and no indexes: - pool: 2 distinct values; - stype: 6 distinct values; - ls_id: 5 distinct values; - allocated is null for ~30000 of records.
Table type is NDB. If I change it to MEMORY everything starts to fly.
Of course there are a lot of updates to ipaddr table too. For every select there are 3 updates. But updates are of type "update something where ip=ipaddr" and ipaddr is unique key.
What can cause slowdown in NDB case? Table is small and is in memory (5.0 cluster). Maybe I can rewrite it in some better form for such case? MySQL setting are basically default. I did not find something in documentation about improving performance of NDB engine tables. Maybe increase read_buffer_size which is currently the default 128k? Server has 4GB of memory and runs x86_64 version of CentOS4 Linux.
Thanks,
Mindaugas




