Bir tablodaki her satır için bir alanı güncelleştirmek için en iyi yolu nedir?

3 Cevap php

Ben sanatçı adında bir tablo var. Bunun içinde, sanatçı adı (ARTIST_NAME) için bir alan vardır. Sonra SEO dostu sanatçı adı için bir alan var, biz SEARCH_NAME ararım.

Ben bu tabloda 40.000 'den fazla sanatçı var. Yani, arama dostu tüm sanatçıların adlarını dönüştürmek istiyorum. Bunu gerçekleştirmek için en iyi yolu nedir? Sadece fikir, kodu buraya aramıyorum.

Bu benim şimdiye kadar ne var. Ben sadece onları aracılığıyla tüm 40.000 sanatçıları, döngü aramak ve güncelleştirmek gerekir emin değilim?

/ / Bu sanatçı adı vb herhangi sembolleri, kesme, Eğer öyleyse, onları şerit var mı

/ / Bu sanatçı bir boşluk (beatles) var mı? Eğer öyleyse, + (+ beatles) ile değiştirin.

/ / Arama alanına takın

3 Cevap

40.000 kayıtları o kadar değil gibi, ben bellekte içlerinden hepsi ve döngü kapmak istiyorum. Bellekte yaparak, eşsiz kontroller oldukça hızlı olmalıdır.

$ Sorgu = "UPDATE sanatçılar SEARCH_NAME = $ generated_name SET [$ i] WHERE id = $ id [$ i];:" Sonunda, ben gibi bir araya komutları zincir ediyorum..

Arada: Ben bir eksi boşlukların yerine ediyorum.

Sen geçmesi ve iki sütun genişliğinde (id, güvenli) bir ikincil tablo oluşturmak ve oradan eklemek olabilir.

Sorgu Tablo 1

Güvenli adlarına sanatçı isimleri dönüştürmek

Tablo 2 takın

Onları maç için her iki tablo id kullanın. (| ArtistID | şarkıcıAdı id) kimliği endeksi ise, tek bir sanatçı için çoklu güvenli adlarını isterseniz üçüncü bir sütun oluşturmak isteyebilirsiniz ama bu sadece 1-1 eşleşmeleri sağlayacak

Bazı tam metin arama motorunu kullanarak düşünün lütfen. Örneğin, serbest sphinx search - bu son derece hızlı, oldukça esnek ve öyle destek kelime kaynaklanan.