On a real time messaging application, I want to control if incoming message is unique. For this purpose, I am planning to insert a hash of incoming message as unique key in db and check if I get unique key exception. (ORA-00001 in oracle). Is this an efficient way or is there a better way to consider for this case ? For ones who want to know, program is written in java and as a db we use oracle.
Related Questions in ORACLE
- sqlplus myusername/mypassword@ORCL not working with Oracle on Docker
- Oracle setting up on k8s cluster using helm charts enterprise edition
- Oracle Managed Data Access Client can't work from IIS but work for local debug environment
- If composite indexing created - indexing is called?
- Oracle Http server ISNT-07551
- why here not creating table?
- Data migration from Oracle Database Clob to GCP Bucket
- SQL Alchemy custom type, forcing blob bind parameter
- How to send message to syslog agent in plsql
- Whatever the data available in previous record it should add to the new record
- I have an Oracle SQL query that is giving me a "ORA-00918: column ambiguously defined" error on a line that is a comment line
- 'ORA-12170: TNS:Connect timeout occurredORA-12170: TNS:Connect timeout occurred' ERROR while working on oracle with laravel
- Is their any way i can open parallel query tabs
- VSCode Libraries not showing for New Java Project
- I can't ssh to my instance, Connection refused
Related Questions in SOFTWARE-DESIGN
- Adding users file storage feature to my application
- How to use GoF design pattern for software robustness?
- Handling media in chat apps
- In DDD where to handle interaction with external services that is part of business logic? In Domain Model or in Command Handler?
- which programming language is suitable for this task?
- Is it good practice to derive a builder from the class it builds?
- Liskov Substitution Principle: Confusion about additional Functionalities of sub types
- Handle changes in calculation logic for order system
- Having all features in single application
- The best representation for duration between dates in rest api
- Broadcast events to all Application Instances
- Security and users in a microservice architecture
- Is "abc" + 5 considered an expression in python?
- Architecture, EF Core 8 and large SQL queries best practice question
- How to create database software with custom extension to save and reload later with C# WinForm App
Related Questions in UNIQUE-KEY
- Defining a unique key on a PostGIS table
- Warning: Encountered two children with the same key, ``
- mongoose index needs to be unique, not required to take a null or '' value
- React Native - why does uuid return "TypeError: undefined is not a function, js engine: hermes"?
- MySQL insert values only if non exists in unique key combination
- Duplicate key name on property of a table being created on MariaDB
- How do you get a double-column unique key as foreign key?
- How to get unique and returning users count from overall user enteries with a user key in couchDB
- Unable to print unique items based on variant_id in jinja template
- Reactjs Two children with the same key react
- @OneToOne mapping with unique=true throws "caused a duplicate key value in a unique or primary key constraint'
- Foreign key referencing unique composite key or single primary key
- How to generate 10 digit unique-id in python?
- Why I can't use more than one properties for UNIQUE constraint while loading the data using "bin/neo4j-admin database import full"?
- Why my configuration for SOLR uniqueKey with solr.UUIDField generates ERROR SolrException missing required field: id
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
If you're trying to get around the performance problem of uniqueness tests on very large strings, then this is a decent way of achieving it, yes.
You might need a way to deal with hash collisions, though, as the presence of a unique key would prevent different messages having the same hash from loading. One way would be to check for existing matching hashes and do a comparison test against the full text of the message. It would keep your index size down as you'd index on the hash not the message text, but Ii would not be completely foolproof as two identical messages could be loaded by different sessions if the timing was exactly right (or wrong, depending on your perspective).