Armenian Knowledge Base  

Go Back   Armenian Knowledge Base > Technical sections > Languages, Compilers, Interpreters
Register

Reply
 
LinkBack Thread Tools
Old 03.10.2002, 21:53   #1
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 35
Posts: 540
Downloads: 0
Uploads: 0
Reputation: 13 | 4
Thumbs down ЗАДНИЦА!!

Итак, имеем таблицу:
3 поля INTEGER(10),
1 VARCHAR (100),
2 VARCHAR (254)

около 300000 записей.

исходный M$ Access-овский MDB файл весил 221 Mb (!!!).

Путем преобразовария в MySQL (mdb-export -> mysqlimport)
получаем майэскюэловский .isd файл размером всего 15 Mb
(без сжатия).

В топике http://acid.land.am/cgi/ubb/ultimate...c;f=1;t=000138
я спрашивал как можно локально использовать MDB базу в виндовозовском приложении,
но, как оказалось, ето невозможно, поэтому я использовал
ActiveX драйвер Microsoft.Jet.OLEDB.4.0.

И тут мелкомягкие подсунули мне такую ЗАДНИЦУ,
что я долго не верил своим глазам:

Обычный SELECT с LIKE по одному VARCHAR(100) полю выполнялся на этой таблице 1 минуту 48 секунд,
при том, что MySQL делал то-же самое за 1,4 секунды максимум на том-же windows-е
и на той-же машине: PIII-733, 256 RAM. И в среднем все запрсы на MDB занимали больше минуты машинного времени,
кроме тех, конечно, которые выполнялись только на индексированных INT полях. MySQL-же выполнял те-же запросы макс.
за 2 секунды.

Получается, что использование локальных баз среднего (?)
размера под виндовоз не имеет смысла.



P.S. Под Linux MySQL выполнял те-же запросы в среднем в 2 раза быстрее.

__________________
[ que fors aus ne le sot riens nee ]
Reply With Quote
Old 03.10.2002, 22:19   #2
Академик
 
greka's Avatar
 
Join Date: 09 2001
Location: inside myself
Posts: 5,369
Downloads: 0
Uploads: 0
Reputation: 18 | 5
Post

problema bystrodejstvija s AccessDB pod Win95/98/NT byla.
Naskoka ya znaju takoe mojno videt' v staryx (postavljaemaya s MS office 95/97) versiyax ODBC.

prover', mojet versiya ActiveX-komponenta staraya ?

i eshe - otkuda ty znaesh', chto vyzyvaetsa ne imejushijsja na mashine ODBC mexanizm, a metody etogo ActiveX -a ?

t.e. pri nalichii 2-x mexanizmov kakoj budet vybran dlja raboty ?


i eshe - kakaja Win u tebja ? A to ved' "Windows" - ponyatie rastyajimoe
__________________
И повешенные могут качаться в неположенную сторону. /С.Е.Лец/
Reply With Quote
Old 04.10.2002, 03:46   #3
Младенец
 
Join Date: 10 2002
Location: Chicago NW Suburbs, IL, US
Posts: 14
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post

Stranno eto.
My ispolzovali Access 2000 dlya xraneniya ves'ma bolshix obyemov informacii.. vse shlo na ura.
Ya soglasen konechno chto SELECTs na MySQL ispolnayutsya bystree, no chto by VSE zaprosy shli tak medlenno - u vas batenka v sisteme gluki.
Lechit' nado.

A voobshe izpolzuite ADO. Eto na segodnya industry standard.
__________________
The best way to predict the future is to create it
Reply With Quote
Old 04.10.2002, 06:15   #4
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 35
Posts: 540
Downloads: 0
Uploads: 0
Reputation: 13 | 4
Wink

V tom-to i delo, chto ja ispol'zoval imenno ADO.

Voobsche govorja krome BDE est' 2 sposoba dobratsja do mdb: eto ODBC i ADO, ja proboval oba, rezul'tat odinakovyj.

Prichina medlennoj raboty mne kajetsja kroetsja v cachirovanii, a tochnee v necachirovanii rezul'tatov zaprosa i ploxoj rabote s pamat'ju.

Tak naprimer prostoj SELECT count(*) FROM ... vypolnjaetsja 40 secund, prichem kajdyj raz odno i to-je.

MySQL-je etot zapros vypolnjal za 0,2 sekundy (skoree vsego on prosto znaet zaranee kolichestvo zapisej, no eto srazu pokazyvaet chto MySQL podxodit k obrabotke zaprosa ne "v lob")

Maestro skoree vsego vy prosto ne stalkivalis' s takimi ob'emnymi tablicami, nesmotrja na to, chto sama baza mogla imet' bol'shie razmery. Na samom dele zaprosy na indexirovannyx poljax vypolnjalis' bystro. No eto estestvenno (Knuta-to oni navernoe chitali ),a vot na neindexirovannyx M$-ovskie drivera sadilis' v luju.
Esli ne verish', mojem ustroit' sorevnovanie po skorosti mejdu ADO i MySQL.

Greco tested on win98, win2000 (na win2000 xuje )

Ljudi, ja ne verju, chto v kakom-to durackom drivere dlja access-ovskix file-ov byli realizovany vse premudrosti bystrogo poiska, kak v MySQL. Vot i vse objasnenie.
Reply With Quote
Old 04.10.2002, 06:38   #5
Школьник
 
Join Date: 04 2002
Location: Vanadzor
Posts: 227
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post

et sagh chisht a u normal a

vorovhetev MySQL-n henc skzbic sarkvel a web-i hamar u bnakanabar shat ushadrutyun a darcrac nra aragutyan vra. isk ete lriv iranc xorhurdnerov sarke bazan, shat aveli arag kashxati mysql-n.

bayc mysql-n el ira terutyunnern uni, voronk xangarum en SHAT lurj baza ashxatacnes mysql-i tak.
Reply With Quote
Old 04.10.2002, 14:19   #6
Младенец
 
Join Date: 10 2002
Location: Chicago NW Suburbs, IL, US
Posts: 14
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post

skorost' ispolneniya COUNT() ne zavisit ot kol-va zapisey - nu - estestvenno v sluchae kogda net filtra.
v etom vy pravy.

a vot to chto eto zanimaet 40 sekund, eto nonsense
ya dumau chto vremya u vas uxodit na kakie to razborki s COM.. chto to v sisteme ne to.
vkluchite logging, progonite tot zhe query iz accessa.. voobshe naidite bottleneck..

a skolko zapisey to v baze ?
Reply With Quote
Old 04.10.2002, 15:26   #7
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 35
Posts: 540
Downloads: 0
Uploads: 0
Reputation: 13 | 4
Post

Quote:
Originally posted by Maestro:
skorost' ispolneniya COUNT() ne zavisit ot kol-va zapisey - nu - estestvenno v sluchae kogda net filtra.
v etom vy pravy.

a vot to chto eto zanimaet 40 sekund, eto nonsense
ya dumau chto vremya u vas uxodit na kakie to razborki s COM.. chto to v sisteme ne to.
vkluchite logging, progonite tot zhe query iz accessa.. voobshe naidite bottleneck..

a skolko zapisey to v baze ?
vot i ja figeju, ot togo chto on zastreval daje na counte..

a zapisej v baze 300000, ja eto v pervom poste pisal.
Reply With Quote
Old 04.10.2002, 16:16   #8
Младенец
 
Join Date: 02 2002
Location: Armenia
Posts: 29
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post

Hi

DolphiN hastat qo mot mi ban en 4i.
nax microsoftum hazarnerov mardik en nstac u nranc mtqov el e ancnum aragutjun@ barcracnel u jamanak ar jamanak hajoxvum e.

heto, ete qo bazan 300.000 e , u ete amen mi tox@ 100 simvol lini(vor@ shat havanakan e) apa arnvaz@ 30M petke lini aranc kompresi, isk du asum es 15M e.

enenc vor 200M shat mec 4i 300.000 zapisi hamar
Reply With Quote
Old 04.10.2002, 16:40   #9
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 35
Posts: 540
Downloads: 0
Uploads: 0
Reputation: 13 | 4
Red face

vo-pervyx, osnovnym sposobom povyshenija skorosti produktov microsofta javljalsja upgrade svoego processora na ocherednogo monstra ot Intel.
Ja uje i ne pomnju, chtoby chto-nit' melkomjagkoe v novoj versii rabotalo bystree predyduschego na toj-je mashine.

Na schet dliny zapisi to ja po-moemu chetko opisal ee strukturu na jazyke SQL v pervom poste (?). MySQL navernjaka sjimaet dannye, no est' esche i special'noe sjatie dlja read-onli tablic.

Esli mne kto-to zdes' smojet pokazat' chto microsuxovskaja baza vypolnjaet kakoj-to zapros bystree, chem mysql na to-je baze, to ja sejchas-je peresjadu na Win, VC++ i MS Access.

Reply With Quote
Old 05.10.2002, 00:09   #10
ЙЦУКЕН
 
Join Date: 07 2002
Location: 0x68,0x69,0x72, 0x69,0x6e,0x67, 0x20,0x6e,0x6f, 0x77
Age: 47
Posts: 3,118
Downloads: 0
Uploads: 0
Reputation: 5 | 0
Post

2 dolf:
1. ja pomnju M$ produkt, kotoryj stal bystree
MS SQL 5.0 rabotal znachitel'no medlennee 6.0

2. naschet togo, chto u tebja gljuki s MBD fajlom ... hmm. ja soglasen s ostawshimisja.
poprobuj defragmentirowat' winch

3. a eshe - esli u tebja est' wozmozhnot' zameni MDB na Paradox/DBase ... BDE daet ochen' horoshuj skorost' raboty s nimi.
Reply With Quote
Old 05.10.2002, 05:35   #11
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 35
Posts: 540
Downloads: 0
Uploads: 0
Reputation: 13 | 4
Post

nm - na win2k ntfs byl...

ne znaju, poprobujte sami.. fakt ne v tom chto medlenno, a v tom chto v tex-je uslovijax mysql rabotal v desjatki raz bystree..
Reply With Quote
Old 06.10.2002, 00:29   #12
Младенец
 
Join Date: 10 2002
Location: Chicago NW Suburbs, IL, US
Posts: 14
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post

Narod, vy pereputyvaete "dve bolshie raznicy"

Otlozhim to chto iz za nekoego gluka romozit sistema v konkretnom sluchae (eto ya pro 40 sekund).

No v lubom sluchae, kak mozhno sravnivat' MS Access s MySQL ? i zachem ? eto zhe sovershenno raznogo urovnya platformy. MySQL eto xot' i small-scaled, no server, s razvitoy client-server architekturoy, gde voprosy consurrency, optimizacii i t.d. mozhno reshat' effectivno.
Engine zhe MS Access lezhit v MS Jet - module kotoryj dostupaetsya to dannyx lokalno...Sravnivat' nezachem.

Esli vam nuzhen SQL server ot MS - ispolzuyte MS SQL server.
Reply With Quote
Old 23.04.2003, 18:52   #13
Младенец
 
no1's Avatar
 
Join Date: 04 2003
Location: Nobody from nowhere
Posts: 18
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Default

Esli ochen nujno mogu predlojit programmku dlya etogo exporta...delaet vse sama za tebya..(sam proveryal)

Pishi na mail pri neobxodimosti [email protected]
Reply With Quote
Sponsored Links
Reply

Thread Tools


На правах рекламы:
реклама

All times are GMT. The time now is 07:04.


Powered by vBulletin® Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.