Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

MySQL Anfrage RAND und LIMIT

Mitglied: ManicPumpkin

ManicPumpkin (Level 1) - Jetzt verbinden

13.06.2011 um 19:46 Uhr, 2416 Aufrufe, 1 Kommentar

Randomanfrage dauert zu lange. Alternative ?

Hallo,

ich möchte aus einer Datenbank Tabelle (mit ca. 31 Millionen Einträgen) ca. 100.000 bis 500.000 Einträge zufällig auswählen. Die Einträge sollen in einer anderen Tabelle gespeichert werden.

Ich habe jedoch das Problem dass ich mittels ...
SELECT * FROM table WHERE 1 ORDER BY RAND() LIMIT 100000;
... bis morgen früh und noch viel länger sitzen müsste.

Die Anfrage mit 5.000 Einträgen dauert schon bald eine halbe Stunde und so richtig effiktiv ist das nun auch nicht, da ich nicht immer 30 Minuten für 5.000 Einträge warten kann.

Kennt jemand eine Alternative dazu ?

Beste Grüße und Danke,
SkiD.
Mitglied: dog
14.06.2011 um 02:52 Uhr
WHERE 1

Ist schonmal überflüssig.

Dann solltest du bedenken, dass ORDER und LIMIT die letzten Operationen sind, die auf eine Abfrage angewendet werden (in der Reihenfolge).

Was du machst ist als Abfrage identisch mit:

SELECT * FROM table

Nur das du noch mal richtig Overhead für RAND() hinzufügst.

Die einzige Möglichkeit da was zu optimieren ist das SELECT auf einen Index und nicht auf die ganze Tabelle zu machen.

Spaßeshalber habe ich das grade mal mit einer Tabelle mit 3,8M Rows (2GB) ausprobiert:

SELECT * FROM tbl LIMIT 100000 => 208ms
SELECT id FROM tbl LIMIT 100000 => 183ms
SELECT id FROM tbl ORDER BY RAND() LIMIT 100000 => 37,6s

Das sind natürlich die Serverzeiten. Alles andere ist Datentransfer.
Aber mal ein Tipp:

SELECT * FROM tbl WHERE id IN (...100000 zufallszahlen mit PHP erzeugt...) => 0,9s + 9,4s

Die Zeiten sind auf einem alten Pentium IV.
Bitte warten ..
Ähnliche Inhalte
PHP

Definition Script für "memory limit"

Frage von lexa-lexaPHP1 Kommentar

Hi, kann mir bitte jemand die folgende Aussage zum "memory_limit" präzisieren: memory_limit ist: "Die maximale Menge des Arbeitsspeichers (in ...

Netzwerke

Anfrage zur Buchqualität

Frage von SarekHLNetzwerke26 Kommentare

Hallo zusammen, hat jemand von Euch Erfahrungen mit diesem Buch und kann beurteilen, ob das was taugt, um sich ...

LAN, WAN, Wireless

Pfsense Log und Volume Limit

Frage von Kubus0815LAN, WAN, Wireless5 Kommentare

Hallo, ich betreibe APU2C4 Board mit Pfsense FW. Ich habe nach Aquis Anleitung ein Gast Netz mit Captive Portal ...

Vmware

ESXi 32GB Limit?

Frage von RalfHackmannVmware7 Kommentare

Hallo, ich habe einen Fujitsu Server incl. VMware ESXi Embedded Hypervisor erworben. Der Server hat 40GB RAM. Nachdem ich ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

Grafikkarten & Monitore
4k EIZO Monitor, Fernseher und Splitter
Frage von LerxxeyGrafikkarten & Monitore9 Kommentare

Hallo Zusammen, vielleicht könnt ihr mir bei einem Problem helfen wo ich einfach nicht mehr weiterkomme Und zwar haben ...

TK-Netze & Geräte
Fax im Betrieb
Frage von gansa28TK-Netze & Geräte6 Kommentare

Hallo zusammen, Endlich wurden meine Gebete Erhört und der Rechner meines Bekannten dem ich etwas unter die Arme greife, ...

Windows Server
HyperV Failover Cluster Konzeption und Aufbau
Frage von snowboard86Windows Server5 Kommentare

Hallo liebe KollegInnen, Ich habe eine Frage zu Hyper V Failover-Clusters. Wir sind ein mittelständisches Handelsunternehmen und haben aktuell ...