Re: phpMyAdmin, localhost, mysql overhead

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The better question is why are you using MyISAM tables?  Unless there's a
legitimate reason to prefer MyISAM over InnoDB, you should be using InnoDB.

On Fri, Jun 12, 2009 at 2:01 PM, Nitsan Bin-Nun <nitsanbn@xxxxxxxxx> wrote:

> There is no way to avoid it since whenever you delete a row in a myisam
> table you create a space in the order of the rows, this space is expressed
> by a little bit of extra file size of the database.
> This extra file size is called in phpmyadmin as "overhead", you can kill
> this over head either by running some INSERT queries which will fill the
> space with the inserted rows or running an OPTIMISE query.
>
> In general, I don't think that there is anything that you should do or take
> care of, it is not rocket science and your tables will be good with or
> without the overhead ;)
>
> Nitsan
>
> On Fri, Jun 12, 2009 at 7:41 PM, Jônatas Zechim <zechim.php@xxxxxxxxx
> >wrote:
>
> > I have other tables running but only this give me ‘overhead’.
> >
> >
> >
> > I’d know why this table does this and if is bad for my MySQL Server?
> >
> > Is there anyway to avoid it?
> >
> >
> >
> > Zechim
> >
> >
> >
> > De: nitsan@xxxxxxxxxxxx [mailto:nitsan@xxxxxxxxxxxx] Em nome de Nitsan
> > Bin-Nun
> > Enviada em: sexta-feira, 12 de junho de 2009 14:33
> > Para: Jônatas Zechim
> > Cc: php-general@xxxxxxxxxxxxx
> > Assunto: Re:  phpMyAdmin, localhost, mysql overhead
> >
> >
> >
> > I haven't read all your mail, I'm sorry for it in advance, but I think
> that
> > you should know that "overheard" is just a blasting phrase for something
> > which was made up by phpmyadmin.
> >
> > Basically, when you run a lot of DELETE or UPDATE queries on a table an
> > "overhead" is created, generally speaking this "overhead" is a space
> > between
> > rows in the database file, which will cause mysql engine to insert rows
> > into
> > this space on future INSERT queries.
> >
> > You can imagine your table as a hard drive, every couple of months (some
> > may
> > say weeks) you have to run a de-fragment on it, you can do the same with
> > your database table, look up the query OPTIMIZE TABLE which will do the
> > de-frag for you :)
> >
> > If you have any further questions feel free to bring them up.
> >
> > Regards,
> > Nitsan
> >
> > On Fri, Jun 12, 2009 at 7:02 PM, Jônatas Zechim <zechim.php@xxxxxxxxx>
> > wrote:
> >
> > Hi there, i have this table running on my localhost:
> >
> > CREATE TABLE `caffecheckout_compra_itens` (
> >  `compra_key` varchar(23) NOT NULL,
> >  `item_id` int(5) NOT NULL,
> >  `item_valor` decimal(10,2) NOT NULL,
> >  `item_peso` decimal(5,3) NOT NULL,
> >  `item_qtd` int(3) NOT NULL,
> >  `item_data` int(10) NOT NULL,
> >  `item_obs` varchar(100) NOT NULL,
> >  PRIMARY KEY  (`item_id`),
> >  KEY `compra_key` (`compra_key`)
> > ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
> >
> >
> > It's on my Server, but when I add a row and after remove that I'd
> overhead
> > this table (58bytes/row), anyone know why is this happening?
> >
> > I run this SQL:
> >
> > INSERT INTO
> >       caffecheckout_compra_itens
> >       (compra_key,item_id,item_valor,item_peso,item_qtd,item_data)
> > VALUES
> >       ('12448259804a32897ce1116','2','19.90','0.250',1,'1244825980')
> > ON DUPLICATE KEY UPDATE
> >       item_qtd=item_qtd+1
> >
> > And after:
> >
> > DELETE FROM
> >       caffecheckout_compra_itens
> > WHERE
> >       compra_key='12448259804a32897ce1116'
> >
> >
> > Zechim
> >
> >
> > -----Mensagem original-----
> > De: Andrew Ballard [mailto:aballard@xxxxxxxxx]
> > Enviada em: sexta-feira, 12 de junho de 2009 09:38
> > Para: revDAVE
> > Cc: php-general@xxxxxxxxxxxxx
> > Assunto: Re:  Field type for american money
> >
> > On Thu, Jun 11, 2009 at 4:08 PM, revDAVE<Cool@xxxxxxxxxxxxxxxx> wrote:
> > > Php - MySQL - newbie question
> > >
> > > - Field type for american money - int(11) seems to work fine
> > >
> > > - but also I tried decimal(10,2)
> > >
> > > Is one a better choice than another for american money usage?
> > >
> > >
> > > --
> > > Thanks - RevDave
> > > Cool @ hosting4days . com
> > > [db-lists 09]
> >
> > It depends on what you need to store, honestly. If all your dollar
> > amounts are integers, int would work fine. If you need decimals,
> > decimal(10, 2) would be fine for a lot of applications. However, a lot
> > of financial applications need a little more precision. SQL Server has
> > a money datatype that looks like it's about equivalent to decimal(19,
> > 4) and a smallmoney type that looks like it's equivalent to
> > decimal(10, 4). That handles things like gas prices that always have
> > that extra 9/10 of a penny tacked onto them, or items that are 3 for a
> > dollar. If you enter a price of 0.33 in a decimal(10, 2) field,
> > multiplying that by 3 will result in 0.99, whereas three items priced
> > at 0.3333 will come to 0.9999, which when formatted to two digits will
> > round to 1.00.
> >
> > Andrew
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
> >
> >
>

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux