Inhaltsverzeichnis
回复讨论(解决方案)
Heim Backend-Entwicklung PHP-Tutorial mysql中的表前缀应该丢进历史的垃圾堆。

mysql中的表前缀应该丢进历史的垃圾堆。

Jun 23, 2016 pm 01:49 PM
mysql 前缀 历史

1、表前缀广泛使用,却毫无用处。在服务器几乎都快是不要钱的了,数据完全就是免费的。一个数据库中容纳2个数据库中有意义么?
2、给编程和维护,数据库维护带来极*烦。犹如马克思主义,毛XX思想一样。只有害处,毫无好处。

谁能给我一个必须用前缀的理由??

答案就不用大家给我了,我自己给。在99.99%的情况不需要。反正我是重来没有用到过。

我想调查一下,谁的项目中一定需要表前缀的?能介绍下么?天下海选,看是否真有人需要表前缀?

跟贴有分。


回复讨论(解决方案)

如果你的数据库支持多个多个数据库,那就没什么意义,如果只有一个,对于区分表,还是有帮助的。

购买空间的,只能创建一个数据库。加前缀就很有用了,楼主不能忽略这些用户。

购买空间的,只能创建一个数据库。加前缀就很有用了,楼主不能忽略这些用户。


正规100元一个空间,就带免费数据库,有必要一个数据库时塞2个数据库么?
多买一个空间啊。真正运行的程序,100元一年都出不起么?
本地开发当然是要多少个数据库就多少个数据库。

我见过和用过的项目至少20+以上吧。从来没有需要前缀的时候,但居然个个项目都有前缀。

防止某些不怀好意的高水平用户猜测?
开源CMS难免会有些漏洞吧,多个表前缀也许多一层防护?
用来实现某种功能?比如中文版/英文版?

楼主好像自己也开着有公司吧?
多买一个空间啊。真正运行的程序,100元一年都出不起么?这样的话你也能对你的客户说出来?
我就是要把一个 dede,一个 Discuz! 、一个 wordpress 放在一个空间里,以后还想加个 wiki 和问答系统。
难道您销售的系统不支持这样做吗?那么我何必花钱买你的系统,而不去用免费的开源系统呢?

很多设定本来都是不合理的。但按照有关部门的意思就是历史遗留原因。


比如计算机语言,五花八门。其实如果语言真的好,一种就足够了。

比如系统对图片、动画的支持差,则是因为当时开始做计算机的时候,工程师只考虑文字。只需要屏幕出现一些文字就行了。虽然后来图片算法出现了,动画算法出现了。但这些后来出现的,都是在原本不支持他们的硬软件环境下诞生的,于是文件变得很大,很难使用。

想要改变这些缺陷,必须全面重构底层,重新架构系统。但这些是不可能的了。所以将就着用吧。


mysql这个,其实和什么几个数据库没有关系。你也可以做表后缀,也可以做表中缀。只是一个命名规则而已,尊不遵守都行。


购买空间的,只能创建一个数据库。加前缀就很有用了,楼主不能忽略这些用户。


正规100元一个空间,就带免费数据库,有必要一个数据库时塞2个数据库么?
多买一个空间啊。真正运行的程序,100元一年都出不起么?
本地开发当然是要多少个数据库就多少个数据库。

但一?空?已??用,?何要因?根?模?分???而?多一?空?呢?100元也是?啊,大哥。

楼主好像自己也开着有公司吧?
多买一个空间啊。真正运行的程序,100元一年都出不起么?这样的话你也能对你的客户说出来?
我就是要把一个 dede,一个 Discuz! 、一个 wordpress 放在一个空间里,以后还想加个 wiki 和问答系统。
难道您销售的系统不支持这样做吗?那么我何必花钱买你的系统,而不去用免费的开源系统呢?


节省的这100元,代码维护多花费的精力成本何止1000元以上?

我运营网站的目的并不是为了学习如何搭建一个网站
所以我不可能为了你的维护方便而掏钱买上多个空间,其实如果我有多个空间,那么你维护起来不也是很麻烦吗?
再说各个系统都是独立运行,互不干涉,何来的“多花费的精力”

我运营网站的目的并不是为了学习如何搭建一个网站
所以我不可能为了你的维护方便而掏钱买上多个空间,其实如果我有多个空间,那么你维护起来不也是很麻烦吗?
再说各个系统都是独立运行,互不干涉,何来的“多花费的精力”


表前缀会给编程带来麻烦,给代码维护多带来的精力何止1万元以上成本。
不用前缀,平均一个项目至少节省1万以上开发和维护成本。

我想知道你所说的麻烦、难维护到底体现在哪块呢?
而且如果都如 多买一个空间啊。真正运行的程序,100元一年都出不起么?  ,那么一个库需要多种前缀,就需要再多买几个空间么?
难道前缀仅仅是为了摆设?

我加前缀是为了一眼就能区分这些表是属于哪个功能模块,那我查找表的时候范围也就更小了,找到的时间也就更加少了,难道胡乱放一堆,一个一个找?当然,不同场景需要的程度也不一致,你用不到并不能说明没用。

就算不用前缀,多放几个库,来回切库维护成本就低了?

表前缀不会给编程带来麻烦,尤其是封装好的数据层更是小菜一碟
表前缀会是运行速度略微下降,因为需要有一次表名的组装
表前缀可以使程序通用化程度加强,不同应用间不再需要为防止表名相同而大伤脑筋
表前缀可以在程序开发期间轻松的更换测试数据
也可在维护时不影响系统的正常运行,只需单独指派一个 config 就切换到模拟数据上了
而不用表前缀时,你可能需要备份数据库,并提防测试数据暴露到网站上

当然,表前缀只是为工作方便而使用的一个技术手段而已。用不用是你自己的事情

既然你有 Java 经历,那么你也应该知道 Java 从 C++ 脱离出来的时候放弃了 C/C++ 的外部文件包含(#include)。以为只要规划好类,就不再需要引入外部文件了。但事情总是那么的不如意,第二年也只有再造一个 Import 来弥补了

表前缀不会给编程带来麻烦,尤其是封装好的数据层更是小菜一碟
表前缀会是运行速度略微下降,因为需要有一次表名的组装
表前缀可以使程序通用化程度加强,不同应用间不再需要为防止表名相同而大伤脑筋
表前缀可以在程序开发期间轻松的更换测试数据
也可在维护时不影响系统的正常运行,只需单独指派一个 config 就切换到模拟数据上了
而不用表前缀时,你可能需要备份数据库,并提防测试数据暴露到网站上

当然,表前缀只是为工作方便而使用的一个技术手段而已。用不用是你自己的事情

既然你有 Java 经历,那么你也应该知道 Java 从 C++ 脱离出来的时候放弃了 C/C++ 的外部文件包含(#include)。以为只要规划好类,就不再需要引入外部文件了。但事情总是那么的不如意,第二年也只有再造一个 Import 来弥补了



php几乎完全做到了不用手工引用外部文件。

我想知道你所说的麻烦、难维护到底体现在哪块呢?
而且如果都如 多买一个空间啊。真正运行的程序,100元一年都出不起么?  ,那么一个库需要多种前缀,就需要再多买几个空间么?
难道前缀仅仅是为了摆设?

我加前缀是为了一眼就能区分这些表是属于哪个功能模块,那我查找表的时候范围也就更小了,找到的时间也就更加少了,难道胡乱放一堆,一个一个找?当然,不同场景需要的程度也不一致,你用不到并不能说明没用。

就算不用前缀,多放几个库,来回切库维护成本就低了?


我认为前缀不好的原因,就在于快速找表。
前缀影响我阅读表名。
开始看前缀时,我以为前缀有何意义。最后发现,屁意义都没有。就是前缀而已。

能不能引入外部文件和要不要引入外部文件,是两个不同的范畴

前缀的存在就在于款速找表,相同前缀的肯定隶属于相同的应用
你可把前缀理解为分组(分类)标志

存在即意义。
前缀的存在就是为了快速区分不同表之间的意义。当然,如果没必要区分,也完全没必要用前缀了。
也许你觉得屁意义没有,给你工作带来无限的麻烦,成本大大提高了,完全可以摒弃。但熟不知,表前缀也许给其他人工作上带了许多便利。
在一个大型应用中,也许有许多相互关联、高耦合的关系表,但不隶属同一模块,也许前缀的意义就体现出来了。否则多库操作,难道表的关系也要升级到库的关系?反而不美~

还是那句话,存在即意义。

经过几个月思考和争论:结论如下。
1、楼上17楼是正解。xuyanlu
2、16楼回答不错。
 3、6楼你的回复在20年前也许正确。现在完全错误。

前缀做为分组用有存在的必要,但整个表都是前缀,完全就是病态。
在此完全木有考虑在互联网上整天做练习的xuzun这样的人。因为这样的整个中国找不到3个人吧?所以忽略。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHPs Fähigkeiten zur Verarbeitung von Big-Data-Strukturen PHPs Fähigkeiten zur Verarbeitung von Big-Data-Strukturen May 08, 2024 am 10:24 AM

Fähigkeiten zur Verarbeitung von Big-Data-Strukturen: Chunking: Teilen Sie den Datensatz auf und verarbeiten Sie ihn in Blöcken, um den Speicherverbrauch zu reduzieren. Generator: Generieren Sie Datenelemente einzeln, ohne den gesamten Datensatz zu laden, geeignet für unbegrenzte Datensätze. Streaming: Lesen Sie Dateien oder fragen Sie Ergebnisse Zeile für Zeile ab, geeignet für große Dateien oder Remote-Daten. Externer Speicher: Speichern Sie die Daten bei sehr großen Datensätzen in einer Datenbank oder NoSQL.

Wie optimiert man die MySQL-Abfrageleistung in PHP? Wie optimiert man die MySQL-Abfrageleistung in PHP? Jun 03, 2024 pm 08:11 PM

Die MySQL-Abfrageleistung kann durch die Erstellung von Indizes optimiert werden, die die Suchzeit von linearer Komplexität auf logarithmische Komplexität reduzieren. Verwenden Sie PreparedStatements, um SQL-Injection zu verhindern und die Abfrageleistung zu verbessern. Begrenzen Sie die Abfrageergebnisse und reduzieren Sie die vom Server verarbeitete Datenmenge. Optimieren Sie Join-Abfragen, einschließlich der Verwendung geeigneter Join-Typen, der Erstellung von Indizes und der Berücksichtigung der Verwendung von Unterabfragen. Analysieren Sie Abfragen, um Engpässe zu identifizieren. Verwenden Sie Caching, um die Datenbanklast zu reduzieren. Optimieren Sie den PHP-Code, um den Overhead zu minimieren.

Wie verwende ich MySQL-Backup und -Wiederherstellung in PHP? Wie verwende ich MySQL-Backup und -Wiederherstellung in PHP? Jun 03, 2024 pm 12:19 PM

Das Sichern und Wiederherstellen einer MySQL-Datenbank in PHP kann durch Befolgen dieser Schritte erreicht werden: Sichern Sie die Datenbank: Verwenden Sie den Befehl mysqldump, um die Datenbank in eine SQL-Datei zu sichern. Datenbank wiederherstellen: Verwenden Sie den Befehl mysql, um die Datenbank aus SQL-Dateien wiederherzustellen.

Wie füge ich mit PHP Daten in eine MySQL-Tabelle ein? Wie füge ich mit PHP Daten in eine MySQL-Tabelle ein? Jun 02, 2024 pm 02:26 PM

Wie füge ich Daten in eine MySQL-Tabelle ein? Mit der Datenbank verbinden: Stellen Sie mit mysqli eine Verbindung zur Datenbank her. Bereiten Sie die SQL-Abfrage vor: Schreiben Sie eine INSERT-Anweisung, um die einzufügenden Spalten und Werte anzugeben. Abfrage ausführen: Verwenden Sie die Methode query(), um die Einfügungsabfrage auszuführen. Bei Erfolg wird eine Bestätigungsmeldung ausgegeben.

So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 Dec 09, 2024 am 11:42 AM

Eine der wichtigsten Änderungen, die in MySQL 8.4 (der neuesten LTS-Version von 2024) eingeführt wurden, besteht darin, dass das Plugin „MySQL Native Password“ nicht mehr standardmäßig aktiviert ist. Darüber hinaus entfernt MySQL 9.0 dieses Plugin vollständig. Diese Änderung betrifft PHP und andere Apps

Wie verwende ich gespeicherte MySQL-Prozeduren in PHP? Wie verwende ich gespeicherte MySQL-Prozeduren in PHP? Jun 02, 2024 pm 02:13 PM

So verwenden Sie gespeicherte MySQL-Prozeduren in PHP: Verwenden Sie PDO oder die MySQLi-Erweiterung, um eine Verbindung zu einer MySQL-Datenbank herzustellen. Bereiten Sie die Anweisung zum Aufrufen der gespeicherten Prozedur vor. Führen Sie die gespeicherte Prozedur aus. Verarbeiten Sie die Ergebnismenge (wenn die gespeicherte Prozedur Ergebnisse zurückgibt). Schließen Sie die Datenbankverbindung.

Wie erstelle ich eine MySQL-Tabelle mit PHP? Wie erstelle ich eine MySQL-Tabelle mit PHP? Jun 04, 2024 pm 01:57 PM

Das Erstellen einer MySQL-Tabelle mit PHP erfordert die folgenden Schritte: Stellen Sie eine Verbindung zur Datenbank her. Erstellen Sie die Datenbank, falls sie nicht vorhanden ist. Wählen Sie eine Datenbank aus. Tabelle erstellen. Führen Sie die Abfrage aus. Schließen Sie die Verbindung.

Der Unterschied zwischen Oracle-Datenbank und MySQL Der Unterschied zwischen Oracle-Datenbank und MySQL May 10, 2024 am 01:54 AM

Oracle-Datenbank und MySQL sind beide Datenbanken, die auf dem relationalen Modell basieren, aber Oracle ist in Bezug auf Kompatibilität, Skalierbarkeit, Datentypen und Sicherheit überlegen, während MySQL auf Geschwindigkeit und Flexibilität setzt und eher für kleine bis mittlere Datensätze geeignet ist. ① Oracle bietet eine breite Palette von Datentypen, ② bietet erweiterte Sicherheitsfunktionen, ③ ist für Anwendungen auf Unternehmensebene geeignet; ① MySQL unterstützt NoSQL-Datentypen, ② verfügt über weniger Sicherheitsmaßnahmen und ③ ist für kleine bis mittlere Anwendungen geeignet.

See all articles