Hallo,
Ik ben bezig met het schrijven van een CSV import script om op die manier PHP/MySQL te leren.
Ik lees automatisch 6 bestanden in van ieder 25k regels in de tabel 'products'.
Nu zie ik in phpmyadmin voor de tabel products ~159,533 rijen, wat vreemd is aangezien 5x25k 150k is. Na een beetje Googlen kwam ik erachter dat de tilde (~) , circa betekent. Dus okay, het is ruwweg dat aantal rijen give or take een percentage.
Maar ik wilde graag weten hoeveel rijen er nu daadwerkelijk zijn ingelezen. dus kwam ik met een COUNT op de proppen.
resultaat: 159,533, hmm, vreemd aangezien ik maar 150k regels heb ingelezen.
zouden er dan dubbele zijn? Toch eens kijken of er dubbele EAN in de tabel staan.
Resultaat = 0
raar, hoeveel unieke EAN staan er dan in?
Resultaat = 150,000
wel verhipt, maar de count gaf toch iets anders aan? Nog maar een keer dan
resultaat = 150,000
Nu breekt mijn spreekwoordelijke klomp!
Nog even iets anders proberen dan maar
Resultaat: "Showing rows 0 - 24 (150093 total, Query took 0.0020 seconds.)"
Nou snap ik er dus helemaal niets meer van. Moet ik na het inlezen een reindex initieren om een juist aantal rijen te krijgen in een count?
En waarom zijn er verschillen tussen " SELECT * from products" en "SELECT COUNT(*) from products" ?
Ik ben bezig met het schrijven van een CSV import script om op die manier PHP/MySQL te leren.
Ik lees automatisch 6 bestanden in van ieder 25k regels in de tabel 'products'.
Nu zie ik in phpmyadmin voor de tabel products ~159,533 rijen, wat vreemd is aangezien 5x25k 150k is. Na een beetje Googlen kwam ik erachter dat de tilde (~) , circa betekent. Dus okay, het is ruwweg dat aantal rijen give or take een percentage.
Maar ik wilde graag weten hoeveel rijen er nu daadwerkelijk zijn ingelezen. dus kwam ik met een COUNT op de proppen.
code:
1
| SELECT COUNT(*) from products |
resultaat: 159,533, hmm, vreemd aangezien ik maar 150k regels heb ingelezen.
zouden er dan dubbele zijn? Toch eens kijken of er dubbele EAN in de tabel staan.
code:
1
| SELECT EAN FROM product_prices GROUP BY EAN HAVING COUNT(*) > 1 |
Resultaat = 0
raar, hoeveel unieke EAN staan er dan in?
code:
1
| SELECT EAN FROM product_prices GROUP BY EAN HAVING COUNT(*) = 1 |
Resultaat = 150,000
wel verhipt, maar de count gaf toch iets anders aan? Nog maar een keer dan
code:
1
| SELECT COUNT(*) from products |
resultaat = 150,000
Nu breekt mijn spreekwoordelijke klomp!
Nog even iets anders proberen dan maar
code:
1
| SELECT * from products |
Resultaat: "Showing rows 0 - 24 (150093 total, Query took 0.0020 seconds.)"
Nou snap ik er dus helemaal niets meer van. Moet ik na het inlezen een reindex initieren om een juist aantal rijen te krijgen in een count?
En waarom zijn er verschillen tussen " SELECT * from products" en "SELECT COUNT(*) from products" ?
