Stránka: 1 z 1
| [ Príspevkov: 18 ] | |
Autor | Správa |
---|
Registrovaný: 01.05.05 Príspevky: 13413 Témy: 1494 | 1494 Bydlisko: Bratislava |
Citácia: |--ipstart--|----ipend---| |127.0.0.0|127.0.0.255| |128.0.0.0|128.0.0.255| ... Vedel by mi niekto povedat ci sa da nejakym selectom zistit ci splna zadana ip adresa rozsah? Napriklad 127.0.0.15, zlo by to alebo je nutne to mat prevedene cez ip2long, tak mi dokazem zistovat ci je v rozsahu...
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS |
|
Registrovaný: 15.01.07 Prihlásený: 23.09.15 Príspevky: 186 Témy: 3 | 3 Bydlisko: ZV/BA |
aka databaza? skusal si google? napr. na MySQL su funkcie na to http://dev.mysql.com/doc/refman/5.0/en/ ... _inet-atona to pucnes proste between a pre performance issues by som ich rovno storoval ako cisla, cize konvert pri ukladani a potom len cislo porovnaval
_________________ nb: Lenovo Thinkpad E520 (starsi pan uz), Fedora 20 / Win7 dualboot " 1000.times { puts "I will not spam on the boards" } " |
|
Registrovaný: 01.05.05 Príspevky: 13413 Témy: 1494 | 1494 Bydlisko: Bratislava |
Kód: SELECT ipstart FROM tabulka WHERE '127.0.0.15' BETWEEN ipstart AND ipend LIMIT 1 ale nefunguje mi to spravne, ja mam v danej tabulke okolo 4 milionov zaznamov a rozne rozsahy a nevyberie mi to ten do ktoreho patri a moc sa mi to nechce konvertovat do retazcov, potom by mi ten select vyssie fungoval spravne
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS |
|
Registrovaný: 15.01.07 Prihlásený: 23.09.15 Príspevky: 186 Témy: 3 | 3 Bydlisko: ZV/BA |
nejak si mi neodpovedal na otazku a pozrel si ten odkaz? pokial je to mysql, tak ten select by mohol ist takto (naco ten limit inak?): Kód: SELECT ipstart FROM tabulka WHERE INET_ATON('127.0.0.15') BETWEEN INET_ATON(ipstart) AND INET_ATON(ipend)
_________________ nb: Lenovo Thinkpad E520 (starsi pan uz), Fedora 20 / Win7 dualboot " 1000.times { puts "I will not spam on the boards" } " |
|
Registrovaný: 01.05.05 Príspevky: 13413 Témy: 1494 | 1494 Bydlisko: Bratislava |
To som si ani nevsimol, asi to robi ten cas toto je nepouzitelne, jeden select spracuvava asi 4 sekundy, takze nepouzitelne, cize treba previest vsetky ip na retazec, vtedy select spracuje rychlo...dik
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS |
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | 0 |
Ak tam nie sú prekrývajúce sa rozsahy, tak by stačilo použiť iba ipend a nájsť položku, pre ktorú by platilo, že ipend je menšie alebo rovné hľadanej adrese (a ak sú v tom zozname medzery, tak by sa potom ešte muselo v aplikácii skontrolovať, či je hľadaná dresa väčšia alebo rovná ipstart).
|
|
Registrovaný: 15.01.07 Prihlásený: 23.09.15 Príspevky: 186 Témy: 3 | 3 Bydlisko: ZV/BA |
no nie na retazec, ale cisla, ako som pisal, ze ich ukladat uz skonvertovane a porovnavat cisla, vysledok funkciou previest na ip (jedno volanie) ...
_________________ nb: Lenovo Thinkpad E520 (starsi pan uz), Fedora 20 / Win7 dualboot " 1000.times { puts "I will not spam on the boards" } " |
|
Registrovaný: 01.05.05 Príspevky: 13413 Témy: 1494 | 1494 Bydlisko: Bratislava |
hej, len 4 miliony zaznamov sa mi chce asi tak prerabat ze az riadny masochista to musel ukladat, hej jednu taku tabulku a tam pouzivam ten moj prvy select
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS |
|
Registrovaný: 15.01.07 Prihlásený: 23.09.15 Príspevky: 186 Témy: 3 | 3 Bydlisko: ZV/BA |
prerabat myslis v akom zmysle? dal by som CREATE TABLE nieco_new LIKE to_nieco; to spravi kopiu tej tabulky "to_nieco" celej na novu dal ALTER TABLE nieco_new MODIFY ipstart INTEGER NOT NULL; (alebo bez not null, proste ake tam boli predtym veci, aj defaulty ak boli) to iste na ipend potom len Kód: INSERT INTO nieco_new (id, ..., ipstart, ipend) SELECT id, ..., INET_ATON(ipstart), INET_ATON(ipend) FROM to_nieco - za bodky vsetky columny, proste klasicky insert into a select vytahuje zo starej presne to iste s tym, ze ipstart a ipend bude konvertovat popri tom nejaky cas to potrva jasne, kedze tych volani fukncie je kopka, a potom len DROPnes celu tabulku to_nieco a premenujes nieco_new na to_nieco Kód: DROP TABLE to_nieco; RENAME TABLE nieco_new TO to_nieco;
inak kludne sprav predtym sql dump tabulky ako backup, pripadne backup db, pripadne to sprav cele ako transaction s kontrolnym selectom a rollback na konci (to ak nevies ako ti mozem napisat potom)
_________________ nb: Lenovo Thinkpad E520 (starsi pan uz), Fedora 20 / Win7 dualboot " 1000.times { puts "I will not spam on the boards" } " |
|
Registrovaný: 01.05.05 Príspevky: 13413 Témy: 1494 | 1494 Bydlisko: Bratislava |
ok vdaka, skusim to, ja som si to vyriesil uz inac, mna to len tak zaujimalo, ale toto si vyskusam
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS |
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
matwej píše: pripadne to sprav cele ako transaction s kontrolnym selectom a rollback na konci (to ak nevies ako ti mozem napisat potom) DDL prikazy asi moc nerollbackne
|
|
Registrovaný: 01.05.05 Príspevky: 13413 Témy: 1494 | 1494 Bydlisko: Bratislava |
takze som prekonvertoval celu tu tabulku, na to ze ma 4 miliony zaznamov to preslo celkom rychlo, ale rychlost selectu pri vyhladavani je nepouzitelna +- 1 sekundu, to ak chcem spravit 10 selectov na jednej stranke, tak to si clovek moze ist spravit kavu sice to funguje ako ma, ale ta rychlost je strasna, cakal som ze to bude trosku rychlejsie
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
Ako mas nastavene indexy a aky select pouzivas?
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 01.05.05 Príspevky: 13413 Témy: 1494 | 1494 Bydlisko: Bratislava |
SELECT ipstart FROM tabulka WHERE $ip BETWEEN ipstart AND ipend LIMIT 1 a index mam nastaveny na ipstart // Spojený príspevok Štv 03.07.14 19:47Tak beriem spet, moja chyba, skusil som odpojit na danej stranke stahovanie xml ktore sa taktiez stahuje 10x a overuje a dlzka nacitania stranky klesla z 13sekund na 2-3 sekundy, takze tam som mal toho psa zakopaneho, to doriesim nejak inac....
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
chrono ma dobru myslienku, urcite by som skusil, ci to nebude rychlejsie ako doteraz: Kód: SELECT ipstart FROM tabulka WHERE ipend >= $ip LIMIT 1 + index nastavit na ipend + pre istotu priamo v selecte alebo v kode skontrolovat, ci najdena hodnota ipstart <= $ip Samozrejme, funkcnost zavisi od kvality dat v tabulke
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 01.05.05 Príspevky: 13413 Témy: 1494 | 1494 Bydlisko: Bratislava |
tak som to teda skusil takto a je to naozaj rychlejsie, zatial co sa mi jedna stranka zobrazila priemerne za 8 sekund, tak teraz sa zobrazi za 2-3 sekundy, snad sa tam nic neprekryva, aj ked som si pozrel asi 10 stran v phpmyadmine v tejto tabulke, tak tie rozsahy idu za sebou ipend konci a o 1 viac zacina ipstart pod nim, tak to je snad takto spravene cele za sebou vdaka
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS |
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | 0 |
Môžeš si to nechať vypisovať zoradené podľa začiatočnej adresy a kontroluj, či sa nasledujúci riadok neprekrýva... (a možno by bolo vhodné pri importe tých dát do DB urobiť ešte viac testov, ale nič konkrétne mi teraz nenapadá)
|
|
Registrovaný: 01.05.05 Príspevky: 13413 Témy: 1494 | 1494 Bydlisko: Bratislava |
Vyskusal som to na 100 roznych konkretnych ip adresach a porovnaval to s inou databazou a zobrazuje to vzdy spravne co ma, takze zjavne sa tam neprekryvaju, moc som tu databazu nestudoval, ale dik za optimalizaciu toho selectu, teraz to ide ovela sviznejsie
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS |
|
Stránka: 1 z 1
| [ Príspevkov: 18 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Monitory, televízory a projektory | 3 | 688 | 03.12.2008 19:37 Pepanek | | v Siete | 6 | 707 | 30.01.2012 19:24 majky358 | | v Monitory, televízory a projektory | 4 | 1669 | 30.12.2009 20:34 titanic | | v Assembler, C, C++, Pascal, Java | 3 | 582 | 10.10.2018 22:52 BX | | v JavaScript, VBScript, Ajax | 2 | 794 | 28.09.2009 15:27 tomast7 | | v Siete | 15 | 2022 | 11.05.2020 15:45 4040 | | v PHP, ASP | 7 | 675 | 02.05.2008 13:53 mondzo | | v HTML, XHTML, XML, CSS | 3 | 457 | 13.09.2012 21:49 1daemon1 | | v Databázy | 8 | 551 | 16.03.2012 14:09 zdeniatqo | | v Databázy | 6 | 1443 | 31.08.2006 13:50 tRizzO | | v Sieťové a internetové programy | 6 | 7513 | 31.10.2009 15:36 jefitto | | v Siete | 4 | 563 | 02.05.2015 18:10 Tomas1 | | v Siete | 8 | 865 | 11.05.2008 11:48 Don_Pipino | | v Bezpečnosť a firewally | 0 | 7726 | 30.11.2005 14:06 Sajfa | | v Antivíry a antispywary | 0 | 6165 | 14.11.2005 15:02 Sajfa | | v Databázy | 11 | 828 | 03.10.2010 11:06 KViki |
|