2016-05-07 8 views
2

Ich Code in der Regel in der gleichen Umgebung, die an meiner Schule Universität ist. Heute ist die Bibliothek aufgrund von Renovierungsarbeiten geschlossen, deshalb habe ich die Bibliothek gewechselt.Leere Reihe Paket Körper Mysql

Meine Abfragen arbeiten immer in meiner üblichen Bibliothek. Meine Produktionsumgebung hat keine Probleme mit ihren Abfragen.

Jetzt, wenn diese Verbindung in dieser neuen Bibliothek verwenden, sind meine MySQL-Abfragen, ob auf unendlich fest oder ich bekomme diese .

Die einzige andere Sache, die sich geändert hat, ist die WLAN-Verbindung. Ich bin mir nicht sicher zu verstehen, wie eine drahtlose Verbindung meine Abfragen auf unendlich stecken oder diesen Fehler auslösen kann.

Hat einer von Ihnen das schon erlebt oder weiß er, wie man das löst? Das erste Mal passiert mir das. Zu Hause kein Problem, bei üblicher Bibliothek kein Problem, auf Produktivserverebene kein Problem, aber bei dieser speziellen Bibliothek Probleme.

Lustige Sache ist, dass, wenn ich versuche, ssh zu meinem Server, meine Verbindung fällt.

Danke für die Hilfe

  • OK, ich bin aus dieser Bibliothek nur gonna gehen weg, scheint mir mit etwas Voodoo Networking Magie zu drosseln.

EDIT Beispiel andernfalls Abfrage InnoDB (1+ Million Tabelle)

SELECT 
    ST_X(cs.point) AS X, 
    ST_Y(cs.point) AS Y, 
    s.sizeFormat AS size, 
    s.size as sizeHM, 
    es.name AS estateSize, 
    cs.noLogement as estateSizeHM, 
    cs.title AS title, 
    dbr.name AS dateBuiltRange, 
    DATE_FORMAT(cs.dateBuilt, '%Y') as dateBuiltRangeHM, 
    m.myId AS meuble, 
    cs.meuble_id as meubleHM, 
    cs.captionPath AS paths, 
    DATE_FORMAT(cs.rentPriceDate, '%d-%m-%Y') as date, 
    cs.rentPrice as price 
FROM 
    CommonSummary AS cs 
    LEFT JOIN Size AS s ON (cs.size_id = s.id) 
    LEFT JOIN Meuble AS m ON (cs.meuble_id = m.id) 
    LEFT JOIN EstateSize AS es ON (cs.estateSize_id = es.id) 
    LEFT JOIN DateBuiltRange AS dbr ON (cs.dateBuiltRange_id = dbr.id) 
    LEFT JOIN City AS city ON (cs.city_id = city.id) 
    LEFT JOIN Quartier AS q ON (cs.quartier_id = q.id) 
    LEFT JOIN Arrondissement AS arr ON (cs.arrondissement_id = arr.id) 
WHERE 
    cs.validPoint = 1 
    AND cs.subCatMyId = 1 
    AND (
    cs.rentPriceDate <= '2016-06-30 23:59:59' 
    and cs.rentPriceDate >= '2016-04-01 00:00:00' 
) 
AND cs.rentPrice <= 2000 
and cs.rentPrice >= 150 
AND (cs.cityMyId = '1') 
LIMIT 
5000 

EDIT 2

MYSQL stämme: Got an error writing communication packets

EDIT 3

Ich ging in ein Café und Boom, Magie, es funktioniert.

+0

Bitte Ihre Fragen hinzufügen. –

+0

Ich denke nicht, dass es in jedem Fall nützlich ist, weil mehrere Teile meiner Anwendung diese Fehler wirft, aber da gehen Sie. Plus, Sie würden das Schema und viele weitere Sachen benötigen ... Wie auch immer, hier ist meine Abfrage .... – delmalki

+2

'Lustige Sache ist, dass, wenn ich versuche, zu meinem Server ssh, meine Verbindung fällt' das ist der Hinweis –

Antwort

0

Sichern Sie Ihre Datenbank und versuchen Sie, Ihre Tabellen-Engine von MyISAM auf InnoDB umzustellen. MyISAM sperrt die gesamte Tabelle, während InnoDB eine bessere Behandlung der zu ändernden Zeilen vornimmt.

Von MySQL-Dokumentation: http://dev.mysql.com/doc/refman/5.7/en/converting-tables-to-innodb.html

ALTER TABLE table_name ENGINE=InnoDB;

Wichtige

nicht MySQL-Systemtabellen in der MySQL-Datenbank (wie zB Benutzer oder Host) an die InnoDB Typ umwandeln. Dies ist eine nicht unterstützte Operation. Die Systemtabellen müssen immer vom Typ MyISAM sein.

+0

ist bereits eine InnoDB Tabelle. – delmalki

0

Da es sich um ein Netzwerkproblem ist nur auf diese spezifische Umwelt, können Sie versuchen, net_read_timeout und net_write_timeout zu erhöhen, wenn sie von der neuen Bibliothek verbindet:

SET @@local.net_read_timeout=600; 
SET @@local.net_write_timeout=600; 

Es wird nur die aktuelle Sitzung beeinflussen, so laufen es direkt vor Ihrer Abfrage. Spiele mit den Werten, um herauszufinden, was passt (wenn das der Fall ist).

Siehe


mysql> show variables like "net_%_timeout"; 
+-------------------+-------+ 
| Variable_name  | Value | 
+-------------------+-------+ 
| net_read_timeout | 30 | 
| net_write_timeout | 60 | 
+-------------------+-------+ 
2 rows in set (0.00 sec) 

mysql> SET @@local.net_read_timeout=600; 
Query OK, 0 rows affected (0.00 sec) 

mysql> show variables like "net_%_timeout"; 
+-------------------+-------+ 
| Variable_name  | Value | 
+-------------------+-------+ 
| net_read_timeout | 600 | 
| net_write_timeout | 60 | 
+-------------------+-------+ 
2 rows in set (0.00 sec) 
Verwandte Themen