Rumah pangkalan data tutorial mysql SQLite 运行时限制(Run-time Limits)_MySQL

SQLite 运行时限制(Run-time Limits)_MySQL

May 27, 2016 pm 07:11 PM
sqlite

SQLite 运行时限制(Run-time Limits)_MySQL

int sqlite3_limit(sqlite3*, int id, intnewVal);

 

该接口允许在连接的过程中(by connection basis),对连接(on a connection)的变量结构(various constructs)进行限制。第一个参数指定了被限制的设置或者查询的数据库的句柄。第二个参数指定了被限制的类别(categories),该结构定义了一系列可被限制尺寸大小的结构变量(The second parameter is one of the limit categories that define aclass of constructs to be size limited)。第三个参数是对该结构的新的限制。如下是定义的限制类别:

#define SQLITE_LIMIT_LENGTH                    0

#define SQLITE_LIMIT_SQL_LENGTH                1

#define SQLITE_LIMIT_COLUMN                    2

#define SQLITE_LIMIT_EXPR_DEPTH                3

#define SQLITE_LIMIT_COMPOUND_SELECT           4

#define SQLITE_LIMIT_VDBE_OP                   5

#define SQLITE_LIMIT_FUNCTION_ARG              6

#define SQLITE_LIMIT_ATTACHED                  7

#defineSQLITE_LIMIT_LIKE_PATTERN_LENGTH       8

#define SQLITE_LIMIT_VARIABLE_NUMBER           9

#define SQLITE_LIMIT_TRIGGER_DEPTH            10

#define SQLITE_LIMIT_WORKER_THREADS           11

 

 

如果一个给定的限制值是一个负值,限制不会生效。对于每一个限制的类别,在编译的过程中,已经通过C的宏定义(变量名称为SQLITE_MAX_NAME,当然限制名称为SQLITE_LIMIT_NAME),指定了该值的上限(a hard upper bound).如果指定的值超出了上限,就会将该值指定为上限(truncated to the hard upper bound Categories).

 

不管限制值有没有改变,sqlite3_limit的返回值都是上一次的限制值。因此,如果我们想知道当前设 置的限制值是多少,就可以通过设置该函数的第三个参数,指定为-1,就可以查询该结构体的限制值是 多少。

例如:

int permitexecutelength = sqlite3_limit(pdb, 1 , -1);
Salin selepas log masuk

 

说明:返回当前允许执行的SQL语句的长度,保存在permitexecutelength变量中。

 

该设计既可以用于管理客户内部的数据库,也可以控制一些不可靠的访问数据来源。一个明显的例子就是网页浏览器,她自身拥有存储历史记录,并且将从网上下载的JavaScript脚本和本地的数据库进行分离(separate databases controlled by JavaScript applications downloaded off the Internet).内部的数据库可以给一个很大的默认限制值。来自外部的访问数据库的源为了避免拒绝服务攻击,一般会给一个更加小的默认限制值。开发者可以调用sqlite3_set_authorizer()接口,来控制不可靠的SQL语句。可以使用max_page_count PRAGMA宏,来限制不可靠的脚本生成的数据库的大小。

以上就是SQLite 运行时限制(Run-time Limits)_MySQL的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kemahiran pemprosesan struktur data besar PHP Kemahiran pemprosesan struktur data besar PHP May 08, 2024 am 10:24 AM

Kemahiran pemprosesan struktur data besar: Pecahan: Pecahkan set data dan proseskannya dalam bahagian untuk mengurangkan penggunaan memori. Penjana: Hasilkan item data satu demi satu tanpa memuatkan keseluruhan set data, sesuai untuk set data tanpa had. Penstriman: Baca fail atau hasil pertanyaan baris demi baris, sesuai untuk fail besar atau data jauh. Storan luaran: Untuk set data yang sangat besar, simpan data dalam pangkalan data atau NoSQL.

Bagaimana untuk menggunakan sandaran dan pemulihan MySQL dalam PHP? Bagaimana untuk menggunakan sandaran dan pemulihan MySQL dalam PHP? Jun 03, 2024 pm 12:19 PM

Membuat sandaran dan memulihkan pangkalan data MySQL dalam PHP boleh dicapai dengan mengikuti langkah berikut: Sandarkan pangkalan data: Gunakan arahan mysqldump untuk membuang pangkalan data ke dalam fail SQL. Pulihkan pangkalan data: Gunakan arahan mysql untuk memulihkan pangkalan data daripada fail SQL.

Bagaimana untuk mengoptimumkan prestasi pertanyaan MySQL dalam PHP? Bagaimana untuk mengoptimumkan prestasi pertanyaan MySQL dalam PHP? Jun 03, 2024 pm 08:11 PM

Prestasi pertanyaan MySQL boleh dioptimumkan dengan membina indeks yang mengurangkan masa carian daripada kerumitan linear kepada kerumitan logaritma. Gunakan PreparedStatements untuk menghalang suntikan SQL dan meningkatkan prestasi pertanyaan. Hadkan hasil pertanyaan dan kurangkan jumlah data yang diproses oleh pelayan. Optimumkan pertanyaan penyertaan, termasuk menggunakan jenis gabungan yang sesuai, membuat indeks dan mempertimbangkan untuk menggunakan subkueri. Menganalisis pertanyaan untuk mengenal pasti kesesakan; gunakan caching untuk mengurangkan beban pangkalan data;

Bagaimana untuk memasukkan data ke dalam jadual MySQL menggunakan PHP? Bagaimana untuk memasukkan data ke dalam jadual MySQL menggunakan PHP? Jun 02, 2024 pm 02:26 PM

Bagaimana untuk memasukkan data ke dalam jadual MySQL? Sambung ke pangkalan data: Gunakan mysqli untuk mewujudkan sambungan ke pangkalan data. Sediakan pertanyaan SQL: Tulis pernyataan INSERT untuk menentukan lajur dan nilai yang akan dimasukkan. Laksanakan pertanyaan: Gunakan kaedah query() untuk melaksanakan pertanyaan sisipan Jika berjaya, mesej pengesahan akan dikeluarkan.

Bagaimana untuk membuat jadual MySQL menggunakan PHP? Bagaimana untuk membuat jadual MySQL menggunakan PHP? Jun 04, 2024 pm 01:57 PM

Mencipta jadual MySQL menggunakan PHP memerlukan langkah berikut: Sambung ke pangkalan data. Buat pangkalan data jika ia tidak wujud. Pilih pangkalan data. Buat jadual. Laksanakan pertanyaan. Tutup sambungan.

Bagaimana untuk menggunakan prosedur tersimpan MySQL dalam PHP? Bagaimana untuk menggunakan prosedur tersimpan MySQL dalam PHP? Jun 02, 2024 pm 02:13 PM

Untuk menggunakan prosedur tersimpan MySQL dalam PHP: Gunakan PDO atau sambungan MySQLi untuk menyambung ke pangkalan data MySQL. Sediakan penyata untuk memanggil prosedur tersimpan. Laksanakan prosedur tersimpan. Proses set keputusan (jika prosedur tersimpan mengembalikan hasil). Tutup sambungan pangkalan data.

Bagaimana untuk membetulkan ralat mysql_native_password tidak dimuatkan pada MySQL 8.4 Bagaimana untuk membetulkan ralat mysql_native_password tidak dimuatkan pada MySQL 8.4 Dec 09, 2024 am 11:42 AM

Salah satu perubahan utama yang diperkenalkan dalam MySQL 8.4 (keluaran LTS terkini pada 2024) ialah pemalam "Kata Laluan Asli MySQL" tidak lagi didayakan secara lalai. Selanjutnya, MySQL 9.0 mengalih keluar pemalam ini sepenuhnya. Perubahan ini mempengaruhi PHP dan apl lain

Perbezaan antara pangkalan data oracle dan mysql Perbezaan antara pangkalan data oracle dan mysql May 10, 2024 am 01:54 AM

Pangkalan data Oracle dan MySQL adalah kedua-dua pangkalan data berdasarkan model hubungan, tetapi Oracle lebih unggul dari segi keserasian, skalabiliti, jenis data dan keselamatan manakala MySQL memfokuskan pada kelajuan dan fleksibiliti dan lebih sesuai untuk set data bersaiz kecil. ① Oracle menyediakan pelbagai jenis data, ② menyediakan ciri keselamatan lanjutan, ③ sesuai untuk aplikasi peringkat perusahaan ① MySQL menyokong jenis data NoSQL, ② mempunyai langkah keselamatan yang lebih sedikit, dan ③ sesuai untuk aplikasi bersaiz kecil hingga sederhana.

See all articles