分析Oracle主键的跳号现象
从做Jforum项目以来,以来遇到一个很明显的现象,就是每个表的主键都出现跳号现象。具体表现在:当一次操作若干条数据时,自动增
从做Jforum项目以来,以来遇到一个很明显的现象,就是每个表的主键都出现跳号现象。具体表现在:当一次操作若干条数据时,自动增长的sequence序列总是从200的倍数开始增加,这次操作完成后,无论这时currentval是什么,隔段时间,总是又从下一个200的倍数开始了。比如说:一张表当前value是800,增加了3条记录,这时currentval应该是803。但是隔段时间以后,再次插入数据时,就从1000开始增加。
这个现象在大多数人眼里肯定不值一提,但在我这里却是新鲜玩意,没遇见过。问了两个老手,他们也不怎么熟悉,只是稍微有些印象,好像遇到过类似情况。虽然无解,但我却知道了从哪里下手,肯定是sequence的某个属性导致的。果不其然,当我使用pl/sql developer打开jforum_topics_seq时可以看到:
那个高速缓存的值与200是符合的,从名称上来理解:缓存是用来提高系统运行速度和效率所设置的机制。那么是不是可以这么猜想,如果缓存用不完了,那么就要将之丢弃,这大概就是缓存的一些副作用吧。
从网上查找资料,发现很多说明文章都在,在这里只做简单说明好了。
1,,缓存可以预定义,也可以默认,默认的缓存大小为20.
2,缓存应根据系统数据量的大小来设置,比如jforum论坛系统经过改造之后,同一时段内增加的数据量并不多,那么设置为200就显得比较浪费。
3,不设置缓存会给系统性能带来极大的不便,因此当数据量较小的时候,不妨采用默认的缓存值20。
4,尽管使用缓存会出现主键不连续、跳号的现象,但该sequence仍可以保证值的唯一性。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

JSON data can be saved into a MySQL database by using the gjson library or the json.Unmarshal function. The gjson library provides convenience methods to parse JSON fields, and the json.Unmarshal function requires a target type pointer to unmarshal JSON data. Both methods require preparing SQL statements and performing insert operations to persist the data into the database.

MySQL is an open source relational database management system. 1) Create database and tables: Use the CREATEDATABASE and CREATETABLE commands. 2) Basic operations: INSERT, UPDATE, DELETE and SELECT. 3) Advanced operations: JOIN, subquery and transaction processing. 4) Debugging skills: Check syntax, data type and permissions. 5) Optimization suggestions: Use indexes, avoid SELECT* and use transactions.

To avoid PHP database connection errors, follow best practices: check for connection errors and match variable names with credentials. Use secure storage or environment variables to avoid hardcoding credentials. Close the connection after use to prevent SQL injection and use prepared statements or bound parameters.

This article recommends the top ten digital currency trading apps in the world, including Binance, OKX, Huobi Global, Coinbase, Kraken, Gate.io, KuCoin, Bitfinex, Gemini and Bitstamp. These platforms have their own characteristics in terms of transaction pair quantity, transaction speed, security, compliance, user experience, etc. For example, Binance is known for its high transaction speed and extensive services, while Coinbase is more suitable for novices. Choosing a platform that suits you requires comprehensive consideration of your own needs and risk tolerance. Learn about the world's mainstream digital currency trading platforms to help you conduct digital asset trading safely and efficiently.

This article will provide a detailed introduction to how to install and register a Bitcoin trading application. The Bitcoin trading app allows users to manage and trade cryptocurrencies such as Bitcoin. The article guides users through the installation and registration process step by step, including downloading applications, creating accounts, performing identity verification, and first deposit. The goal of the article is to provide beginners with clear and easy-to-understand guidelines to help them easily enter the world of Bitcoin trading.

MySQL is an open source relational database management system, mainly used to store and retrieve data quickly and reliably. Its working principle includes client requests, query resolution, execution of queries and return results. Examples of usage include creating tables, inserting and querying data, and advanced features such as JOIN operations. Common errors involve SQL syntax, data types, and permissions, and optimization suggestions include the use of indexes, optimized queries, and partitioning of tables.

Ouyi, also known as OKX, is a world-leading cryptocurrency trading platform. The article provides a download portal for Ouyi's official installation package, which facilitates users to install Ouyi client on different devices. This installation package supports Windows, Mac, Android and iOS systems. Users can choose the corresponding version to download according to their device type. After the installation is completed, users can register or log in to the Ouyi account, start trading cryptocurrencies and enjoy other services provided by the platform.
