MySQL Forums :: German :: Performance bei SELECT


Advanced Search

Re: Performance bei SELECT
Posted by: Thomas Wiedmann ()
Date: January 20, 2012 12:11PM

Hallo Mark,
diese zwei Spalten sind meiner Meinung nach vollkommen überdimensioniert.

CREATE TABLE `items` (
[...]
`Brand` varchar(255) NOT NULL, 
[...]
`attr_gender` varchar(100) NOT NULL, 
[...]
KEY `Brand` (`Brand`), 
[...]

wirklich benötigt wird nur dieser Größe:

SELECT MAX(LENGTH(brand)), MAX(LENGTH(attr_gender)) FROM items;

+--------------------+--------------------------+
| MAX(LENGTH(brand)) | MAX(LENGTH(attr_gender)) |
+--------------------+--------------------------+
|                 57 |                        1 |
+--------------------+--------------------------+

deshalb würde ich diese zwei Spalten in etwa so kürzen und einen combined index darüber legen:

ALTER TABLE items
 MODIFY brand VARCHAR(80) NOT NULL,
 MODIFY attr_gender VARCHAR(10) NOT NULL;
 
ALTER TABLE items
 DROP KEY brand,
 ADD KEY idx_brand_gender (brand, attr_gender);

Jetzt bitte nochmal den Query mit EXPLAIN ausführen.
EXPLAIN SELECT items.Brand, 
       SUM(
            (SELECT SUM(its.PhysicalStock)
              FROM items_stock AS its
             WHERE its.ItemNrInt = items.ItemNrInt
           )
       ) AS stockValue
FROM items
LEFT JOIN ( SELECT ItemNrInt,MAX(OrderQty),MAX(FullPrice),MAX(OrderDate),MAX(ItemPriceNoVAT),MAX(Status)
              FROM invoicelines
             GROUP BY ItemNrInt
             ORDER BY NULL ) invoicelines
ON (invoicelines.ItemNrInt = items.ItemNrInt)
WHERE items.attr_gender = '8'
GROUP BY items.Brand;

Grüße
Thomas

Options: ReplyQuote


Subject Views Written By Posted
Performance bei SELECT 1861 Mark Knochen 01/19/2012 07:17AM
Re: Performance bei SELECT 1089 Thomas Wiedmann 01/19/2012 12:59PM
Re: Performance bei SELECT 1194 Mark Knochen 01/20/2012 05:33AM
Re: Performance bei SELECT 1301 Thomas Wiedmann 01/20/2012 06:10AM
Re: Performance bei SELECT 1068 Mark Knochen 01/20/2012 07:06AM
Re: Performance bei SELECT 1108 Thomas Wiedmann 01/20/2012 12:11PM
Re: Performance bei SELECT 1040 Mark Knochen 01/25/2012 04:11AM
Re: Performance bei SELECT 953 Thomas Wiedmann 01/25/2012 04:24AM
Re: Performance bei SELECT 960 Mark Knochen 01/25/2012 04:30AM
Re: Performance bei SELECT 876 Thomas Wiedmann 01/25/2012 04:49AM
Re: Performance bei SELECT 857 Mark Knochen 01/25/2012 06:05AM
Re: Performance bei SELECT 1043 Thomas Wiedmann 01/25/2012 06:37AM
Re: Performance bei SELECT 944 Mark Knochen 01/25/2012 07:46AM
Re: Performance bei SELECT 1105 Thomas Wiedmann 01/26/2012 12:57AM
Re: Performance bei SELECT 942 Mark Knochen 01/25/2012 11:11PM
Re: Performance bei SELECT 896 Thomas Wiedmann 01/25/2012 11:50PM
Re: Performance bei SELECT 856 Mark Knochen 01/27/2012 08:27AM
Re: Performance bei SELECT 1141 Thomas Wiedmann 01/27/2012 06:21AM
Re: Performance bei SELECT 964 Mark Knochen 02/02/2012 10:06PM
Re: Performance bei SELECT 825 Mark Knochen 02/03/2012 05:34AM
Re: Performance bei SELECT 979 Thomas Wiedmann 02/03/2012 02:04PM
Re: Performance bei SELECT 771 Mark Knochen 02/08/2012 09:52PM
Re: Performance bei SELECT 937 Thomas Wiedmann 02/09/2012 08:41AM
Re: Performance bei SELECT 910 Mark Knochen 02/10/2012 02:03AM
Re: Performance bei SELECT 1045 Thomas Wiedmann 02/10/2012 02:52AM
Re: Performance bei SELECT 1104 Mark Knochen 02/10/2012 04:51AM
Re: Performance bei SELECT 1014 Thomas Wiedmann 02/09/2012 11:58PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.