Hi folks -

I've searched the web in vain to try to find anyone else with this
problem. My computer will intermittently start having all "SHOW
FIELDS" queries take 2 seconds. Not 1. Not 3. Always 2. The problem
appears suddenly for no apparent reason - sometimes immediately after
restarting the computer, sometimes after I've been working for a long
time, sometimes it doesn't happen at all. It also sometimes disappears
on its own, although usually I need to restart to make it go away.

The database backs a Ruby on Rails application. Here is an excerpt of
what the Rails development log looks like when the problem is
happening (notice how other queries are running at a reasonable speed,
only the SHOW FIELDS queries are 2 seconds):

-------- begin development log excerpt --------

  ←[4;35;1mShopperGroup Columns (2.000000)←[0m   ←[0mSHOW FIELDS FROM
`shopper_groups`←[0m
s`←[0m
  ←[4;36;1mShopperGroup Load (0.000000)←[0m   ←[0;1mSELECT * FROM
`shopper_groups` WHERE (`shopper_groups`.`id` = 1) ←[0
m
  ←[4;35;1mStore Columns (2.000000)←[0m   ←[0mSHOW FIELDS FROM `stores`←[0m
m
  ←[4;36;1mStore Load (0.000000)←[0m   ←[0;1mSELECT * FROM `stores`
WHERE (`stores`.`id` = 1) ←[0m
  ←[4;35;1mPurchase Load (0.609000)←[0m   ←[0mSELECT * FROM
`purchases` ORDER BY purchased_on desc LIMIT 1←[0m
  ←[4;36;1mPurchase Columns (2.016000)←[0m   ←[0;1mSHOW FIELDS FROM
`purchases`←[0m
0m

-------- end development log excerpt --------

I was thinking the problem might be in Rails, but it doesn't seem to
be. I logged into the mysql command-line client and ran some SHOW
FIELDS commands from there. Same thing - 2 seconds per query:

mysql> show fields from accounts;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(50) | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (2.02 sec)

However, a few minutes later, the problem magically went away:

mysql> show fields from accounts;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(50) | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

And then I ran a few queries over several minutes to show the problem
reappearing.

mysql> select (now());
+---------------------+
| (now())             |
+---------------------+
| 2008-06-28 22:37:32 |
+---------------------+
1 row in set (0.03 sec)

mysql> show fields from accounts;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(50) | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)

/****** NOW, I WAITED UNTIL THE BEHAVIOR RETURNED (ABOUT 2 MINUTES) ******/

mysql> show fields from accounts;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(50) | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (2.00 sec)

mysql> select (now());
+---------------------+
| (now())             |
+---------------------+
| 2008-06-28 22:39:32 |
+---------------------+
1 row in set (0.00 sec)

If anyone knows what could be causing this, I would greatly appreciate
your insight.


Thanks,

Ben

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to