Hangisi daha iyidir: mysql_connect veya mysql_pconnect

4 Cevap php

Ben bir databse bazı haber makaleleri görüntülemek için bazı komut çalışan bir PHP acemi olduğum ve bir kaç şey öğrenmek istedim.

  • Daha iyi bir seçenek mysql_connect ya da bir MySQL veritabanı, bir bağlantı açma mysql_pconnect?
  • Veritabanı için kalıcı bir bağlantı kullanarak avantajları veya dezavantajları nelerdir?
  • Ve senaryo ne tür bir kalıcı bağlantı çağrısında olacak?

4 Cevap

Bir web sayfasını yazmak için gidiyoruz eğer kalıcı bağlantı gerek yoktur. Çok fazla kaynak alır. Mysql_connect kullanın. Db bağlantı açık ve kadar olabildiğince kullanılan değildir süresini en aza indirmek. Aç, kapa, ne istediğinizi almak. Bu kullanıcılar sadece okurken açık kalmak gerekmez. Onlar yanıt eğer bağlantı sonunda kullanılır - INSERT / başka bir sayfaya gidin ..

Here web uygulamalarında NOT USING kalıcı bağlantısı hakkında bazı iyi noktaları vardır

  • Bir tablo kilit zaman, normalde bağlantı kapandığında kilidi, ancak kalıcı bağlantıları yakın değil mi bu yana, herhangi bir tablo yanlışlıkla kilitli bırakmak kilitli kalacak ve onları açmak için tek yolu bağlantı zaman aşımı ya da öldürmek için beklemektir süreç. Aynı kilitleme sorun işlemleri ile ortaya çıkar. (23-Nisan-2002 ve 12-Temmuz-2003 aşağıdaki yorumlarına bakın)

  • Normalde geçici tablolar bağlantı kapandığında düştü, ancak kalıcı bağlantıları kapatmak yok çünkü, geçici tablolar kadar geçici değildir. İşiniz bittiğinde açıkça geçici tabloları bırakın yoksa, bu tablo zaten aynı bağlantıyı yeniden yeni bir müşteri için var olacaktır. Aynı problem oturum değişkenlerini ayarlama ile oluşur. (19-Kasım-2004 & 07-Ağustos-2006 aşağıdaki yorumlarına bakın)

  • PHP ve MySQL aynı sunucuda veya yerel ağ üzerinde ise, bağlantı zaman kalıcı bağlantılar için hiçbir avantajı yoktur bu durumda, önemsiz olabilir.

  • Apache kalıcı bağlantıları ile iyi çalışmaz. Bunun yerine zaten açık bir kalıcı bağlantısı vardır mevcut çocuklardan birini kullanarak, yeni bir istemciden bir istek aldığında, o zaman yeni bir veritabanı bağlantısı açmak gerekir, yeni bir çocuk, yumurtlamak için eğilimindedir. Eğer maksimum bağlantı ulaştığınızda Bu sadece uyku kaynaklarını israf ve hatalara yol açan aşırı işlemleri neden olur, artı kalıcı bağlantıların herhangi bir yarar yendi. (03-Şubat-2004 tarihinde aşağıdaki yorumlarına bakın, ve http://devzone.zend.com/node/view/id/686#fn1 de dipnot)

Ayrıca mysqli bakmak ve pdo olmalıdır. mysql-uzatma oldukça eski ve mysqli yapar hazırlanmış deyimleri desteklemiyor. Ve pdo sorguları değiştirmeden birden fazla veritabanlarını destekler.

Sen bağlantı yeniden olacağını, böylece, son derece yüklü sitelerde mysql_pconnect kullanmalısınız. Bu kadar iki kat hızını artırabilir ...

Ancak, yüksek yükleri beklemeyin; Svetlozar Angelov Yukarıda belirtilen nedenlerle bağlamak normaldir kullanın.

Artık bu soruya cevap lütfen, bu sordu ve başka bir yerde cevap olmuştur. Yukarıdaki bağlantılarına bakın.