Also, its not good to set sort_buffer_size=256M, as this much of memory will
get allocated to each session, and if u have more than 10 connections at any
point of time then it will more than 2GB RAM will get allocated and system
will be slow.
I feel sort_buffer_size=1MB should be good in my.cnf

You need to increase this parameter only at session level and not at
my.cnflevel.

 set sort_buffer_size=100000000;


On 8/10/07, Ananda Kumar <[EMAIL PROTECTED]> wrote:

> at your mysql prompt
>
> set sort_area_size=100000000;
>
> try this
>
> regards
> anandkl
>
>
>  On 8/10/07, Mike Zupan <[EMAIL PROTECTED]> wrote:
> >
> > Which is the my.cnf entry I need to increase. I'm only getting around 4k
> >
> > back_log = 75
> > skip-innodb
> > max_connections = 500
> > key_buffer = 512M
> > sort_buffer_size = 256M
> > join_buffer_size = 128M
> > read_buffer_size = 128M
> > sort_buffer_size = 128M
> > table_cache = 1800
> > thread_cache_size = 384
> > wait_timeout = 7200
> > connect_timeout = 10
> > tmp_table_size = 32M
> > max_heap_table_size = 64M
> > max_allowed_packet = 64M
> > max_connect_errors = 1000
> > read_rnd_buffer_size = 512M
> > bulk_insert_buffer_size = 8M
> > query_cache_limit = 38M
> > query_cache_size = 256M
> > query_cache_type = 1
> > query_prealloc_size = 65536
> > query_alloc_block_size = 131072
> > default-storage-engine = MyISAM
> >
> >
> > On 8/9/07, Andrew Armstrong < [EMAIL PROTECTED]> wrote:
> > >
> > > It goes to a temporary table when MySQL does not have enough memory
> > > (allocated) to store the temporary results in memory, so it needs to
> > > create
> > > a temporary table on disk.
> > >
> > > Try increasing the memory buffer size or eliminating more rows from
> > the
> > > query.
> > >
> > > -----Original Message-----
> > > From: Mike Zupan [mailto:[EMAIL PROTECTED] ]
> > > Sent: Friday, 10 August 2007 4:52 AM
> > > To: mysql@lists.mysql.com
> > > Subject: remove temporary table from SELECT query
> > >
> > > I have been pulling my hair out over a temporary table being created
> > in
> > > the
> > > following query
> > >
> > > SELECT SQL_NO_CACHE SQL_CALC_FOUND_ROWS entryid,title FROM
> > > friends_test INNER JOIN entries ON friendLink=userid AND userLink=2
> > order
> > > by
> > > entryid
> > >
> > > if I change userLink=2 to friendLink=2 it is fine and its very fast.
> > If i
> > > leave it the query is around 2 seconds.
> > >
> > >
> > >
> > >
> > >
> > +----+-------------+--------------+------+---------------------+----------+-
> >
> > >
> > >
> > --------+-----------------------------------+------+------------------------
> > > ---------+
> > > | id | select_type | table        | type | possible_keys       |
> > > key      |
> > > key_len | ref                               | rows |
> > > Extra                           |
> > >
> > >
> > +----+-------------+--------------+------+---------------------+----------+-
> > >
> > >
> > --------+-----------------------------------+------+------------------------
> >
> > > ---------+
> > > |  1 | SIMPLE      | friends_test | ref  | userLink,friendLink |
> > userLink
> > > |
> > > 3       | const                             |  458 | Using temporary;
> > > Using
> > > filesort |
> > > |  1 | SIMPLE      | entries      | ref  | userid              |
> > userid
> > > |
> > > 4       | photoblog.friends_test.friendLink |   11 | Using
> > > where                     |
> > >
> > >
> > +----+-------------+--------------+------+---------------------+----------+-
> >
> > >
> > >
> > --------+-----------------------------------+------+------------------------
> > > ---------+
> > >
> > > The above is an explain of the bad query
> > >
> > >
> > > Here is the table data for the friends_test and entries table
> > >
> > >
> > > CREATE TABLE `friends_test` (
> > >   `friendID` mediumint(8) NOT NULL auto_increment,
> > >   `userLink` mediumint(8) unsigned NOT NULL,
> > >   `friendLink` mediumint(8) unsigned NOT NULL,
> > >   `status` tinyint(1) NOT NULL default '1',
> > >   PRIMARY KEY  (`friendID`),
> > >   KEY `userLink` (`userLink`),
> > >   KEY `friendLink` (`friendLink`)
> > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=74971 ;
> > >
> > >
> > > CREATE TABLE `entries` (
> > >   `entryid` mediumint(10) unsigned NOT NULL auto_increment,
> > >   `userid` mediumint(8) unsigned default NULL,
> > >   `title` varchar(255) character set utf8 collate utf8_unicode_ci
> > default
> > > NULL,
> > >   `photos` text,
> > >   `sizes` mediumtext NOT NULL,
> > >   `text` text character set utf8 collate utf8_unicode_ci,
> > >   `category` int(6) unsigned default NULL,
> > >   `created` int(10) unsigned default NULL,
> > >   `ts` int(10) unsigned default '0',
> > >   `modified` int(10) unsigned default NULL,
> > >   `date` date NOT NULL default '0000-00-00',
> > >   `comments` smallint(3) unsigned NOT NULL default '1',
> > >   `views` mediumint(8) NOT NULL default '0',
> > >   `dir` varchar(10) NOT NULL default 'photos',
> > >   `server` varchar(20) NOT NULL default 'i1.photoblog.com ',
> > >   `notes` longtext character set utf8 collate utf8_unicode_ci NOT
> > NULL,
> > >   `titles` text character set utf8 collate utf8_unicode_ci NOT NULL,
> > >   PRIMARY KEY  (`entryid`),
> > >   KEY `userid` (`userid`),
> > >   KEY `date` (`date`),
> > >   KEY `created` (`created`),
> > >   KEY `ts` (`ts`),
> > >   FULLTEXT KEY `title` (`title`,`text`)
> > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=204306 ;
> > >
> > >
> > >
> > > any help or pointers is a BIG help.
> > >
> > >
> >
>
>

Reply via email to